Sign in to follow this  
Nicholas Kong

Debating on which collection class to use for project

Recommended Posts

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

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
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