Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java Iterator: What does it mean :java.util.ArrayList$Itr

There is code :

List<Integer> al = new ArrayList<>() ;
Iterator iterator = al.iterator();
System.out.println(iterator.getClass().getName());

I get :

 java.util.ArrayList$Itr

What does it mean: "ArrayList$Itr" ?

What implementation of Iterator i get in this line ?

Iterator iterator = al.iterator(); 
like image 467
harp1814 Avatar asked Jun 08 '26 07:06

harp1814


1 Answers

Inside the ArrayList class, the following inner class is defined:

private class Itr implements Iterator<E> {...}

al.iterator() returns an instance of that class, whose full name is java.util.ArrayList$Itr.

public Iterator<E> iterator() {
    return new Itr();
}
like image 198
Eran Avatar answered Jun 10 '26 18:06

Eran