954,518 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Using operator[] with an ArrayList

Hi,

I am writing a java application where i am trying to create an arraylist of "Item" objects. An Item has certain methods such as getStartValue(), etc.

What i am trying to do is to access an Item within my arraylist using operator[] and then call a method for that object
e.g:

ArrayList itemsList = new ArrayList();
...
itemsList.add(anItem);
double amount = itemsList[0].getStartValue();


I looked through the documentation but i did not see anything related. There was also nothing related in the Vector documentation but i think this is possible using a Vector.
Any ideas or suggestions?

ray_broome
Light Poster
25 posts since Aug 2004
Reputation Points: 10
Solved Threads: 0
 

I'm not sure if the array list would be the best way to go, but I could be wrong..Have you tried just creating an array of the Item Objects? But of course then you couldn't add extra items at runtime.

By the way, is this getStartValue() method going to return different results for each Item?

I mean, would each of these return different values:

double amount = itemsList[0].getStartValue();
double amount2 = itemsList[1].getStartValue();

server_crash
Postaholic
2,111 posts since Jun 2004
Reputation Points: 113
Solved Threads: 20
 

An ArrayList isn't an array. It (nor Vector which you shouldn't use, it's there for legacy use only) has different mechanisms.

To retrieve an item from your List use the get(index) method.

Under Java 1.5 (5.0, Tiger) you should thus do the following:

ArrayList<Item> itemsList = new ArrayList<Item>();
...
Item anItem = new Item();
...
itemsList.add(anItem);
double amount = itemsList.get(0).getStartValue();


Under older versions it's a bit different but not fundamentally so.

jwenting
duckman
Team Colleague
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337
 

An ArrayList isn't an array. It (nor Vector which you shouldn't use, it's there for legacy use only) has different mechanisms.

To retrieve an item from your List use the get(index) method.

Under Java 1.5 (5.0, Tiger) you should thus do the following:

ArrayList<Item> itemsList = new ArrayList<Item>();
...
Item anItem = new Item();
...
itemsList.add(anItem);
double amount = itemsList.get(0).getStartValue();

Under older versions it's a bit different but not fundamentally so.

Thanks, i realized i would have to do it this way after a little tinkering. I am coming from C++ so i have to get used to certain things in Java :) ( I miss my operator overloading :cry: )

ray_broome
Light Poster
25 posts since Aug 2004
Reputation Points: 10
Solved Threads: 0
 

hi
i guess its not a problem with the code, it must function i see ur code is this
ArrayList itemsList = new ArrayList();
...
Item anItem = new Item();
...
itemsList.add(anItem);
double amount = itemsList.get(0).getStartValue();
and i understand from this is
u r trying to add item object in the array list and
then u r trying to access them with them
and
double amount = itemsList.get(0).getStartValue();
will fetch you the value of item object stored at 0th index of array and gives u the Value of getstartvalue();

i would make in little bit different way

for(int i = 0; i

aviasoorya
Newbie Poster
4 posts since Nov 2006
Reputation Points: 10
Solved Threads: 0
 

I'm sorry, but why are you posting an answer to a question that is 18 months old, and, according to the OP's last response, is solved.

And your answer is wrong, I might add. You are attemtping to use array indexing into an ArrayList, which won't work, and is exactly the problem that was already solved in this thread.

masijade
Industrious Poster
Moderator
4,253 posts since Feb 2006
Reputation Points: 1,471
Solved Threads: 494
 

and just as important as trying to give good advise is to try and word it in proper English.

1337 sp33ch and SMS shorthand are NOT proper English.

jwenting
duckman
Team Colleague
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You