Search code examples
javaloopsiterationraw-types

Which is the best way to iterate over a non-generic List?


I have to use an old piece of code where I have a List and I need to iterate over it. Foreach loop does not work. Which is the best and safest way to do this?

Example

private void process(List objects) {
    someloop {
        //do something with list item
        //lets assume objects in the List are instances of Content class
    }           
}

Solution

  • Use Iterator:

    Iterator iter = objects.iterator();
    while (iter.hasNext()) {
        Object element = iter.next();
    }
    

    Or better directly for-each:

    for (Object obj : objects) {
    }