Sign in to follow this  
Nicholas Kong

Debating on which collection class to use for project

Recommended Posts

Nicholas Kong    1535

I have a project in Java that requires these features to be operated on one-variable polynomials

 

1) Input a polynomial

2) Print a polynomial

3) Add two polynomials

4) Subtract two polynomials

5) Multiply two polynomials

6) Find a derivative of a polynomial

7) Evaluate a polynomial at a specific value

 

My professor suggested using the Vector Class but I did research and Vector are usually used in a multi-threaded environment and there is an synchronized overhead on individual operation but given the features involved in this project does not require multi-threading or any type of threading.

 

I saw no problems reading about ArrayList. ArrayList are good to use in single-threaded environment and also given my experience using it. Based on my research, ArrayList has all the benefits in the world for these features.

 

I'm in a conundrum right now. I need advice.  

Edited by warnexus

Share this post


Link to post
Share on other sites

What advice? You already know the better choice, and why it's the better choice.

 

(Not that it really matters which you use, obviously the exercise is not about performance and either would work equally well.)

Share this post


Link to post
Share on other sites
ultramailman    1720
Does performance matter in this project? Will using one over the other give significant human observable performance penalties? If not, then it probably does not matter.

Share this post


Link to post
Share on other sites
ysg    192

I have a project in Java that requires these features to be operated on one-variable polynomials
 
1) Input a polynomial
2) Print a polynomial
3) Add two polynomials
4) Subtract two polynomials
5) Multiply two polynomials
6) Find a derivative of a polynomial
7) Evaluate a polynomial at a specific value
 
My professor suggested using the Vector Class but I did research and Vector are usually used in a multi-threaded environment and there is an synchronized overhead on individual operation but given the features involved in this project does not require multi-threading or any type of threading.
 
I saw no problems reading about ArrayList. ArrayList are good to use in single-threaded environment and also given my experience using it. Based on my research, ArrayList has all the benefits in the world for these features.
 
I'm in a conundrum right now. I need advice.

Make small subsets of your project using both approaches and see which ones suit you best. As for the performance hit, unless your project has timing restrictions (which I doubt), it doesn't really matter.

Share this post


Link to post
Share on other sites
LorenzoGatti    4450
You don't have to worry about multiple threads: first because it doesn't seem to be a requirement of your exercise, second because if the need arises you can define a Polynomial class and put synchronized {} blocks where you really need them. Hint: your polynomials are almost read-only.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this