• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3249
  • Last Modified:

Iterating over ArrayList<>

Hi,

I'm using an ArrayList iterator like:

ArrayList<String> definitions = new ArrayList<String>();
definitions.add(new String("hello"));
definitions.add(new String("world"));
Iterator<ListType> it = definitions.iterator();
it.next();

Can I just use an element like:

     ((String)it).compareTo("whatever");

Is that cast operation allowed? Or for every time I want to ever use it in a certain scope I need to do:

    String refString = it.next();

Only problem with that is, I better make sure next() is only called once otherwise it increments the internal iterator every time right?

Thanks
0
DJ_AM_Juicebox
Asked:
DJ_AM_Juicebox
  • 3
1 Solution
 
cmalakarCommented:
>>  ((String)it).compareTo("whatever");

you cannot do this.. ?

>>otherwise it increments the internal iterator every time right?  

yes next() on iterator()  increments the iterator()


0
 
cmalakarCommented:
You have to work like this..


Iterator itr = definitions.iterator();
 
while(itr.hasNext())
{
  String str = itr.next();
  //Work with the string "str"
}

Open in new window

0
 
cmalakarCommented:
Sorry..

above line..

Iterator itr = definitions.iterator();

should be changed to..

Iterator<String> itr = definitions.iterator();
0
 
ysnkyCommented:
you can do like this as an alternative;
        for (int i=0; i<definitions.size(); i++) {
            
            String str = definitions.get(i);
            System.out.println(str);
        }

Open in new window

0
 
oleberCommented:
After Java 1.5 you don't need the iterator.

for (String str : definitions) {
   ...
}

this is the foreach of Java, the cycle will run once for each element.

Note: The iterator is there, but you don't see it.
0

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now