Collection c1 =new ArrayList();
c1.add("hello");
c1.add(1);
Collection c2 =new ArrayList();
c2.add(new Student() );
c2.addAll(c1);
c2.add("我");
Iterator it = c2.iterator();
Collection 与List 还有ArrayList都没有重写iterator()方法,为什么可以最后一步这样调用呢?
高洛峰2017-04-18 10:49:56
ArrayList
은 AbstractList
클래스에서 상속되며 AbstractList
클래스는 List
인터페이스의 iterator()
메서드를 재정의합니다.
여기서 Itr
은 AbstractList
의 내부 클래스이며 Iterator
인터페이스를 구현합니다.
天蓬老师2017-04-18 10:49:56
이 Iterator는 ArrayList의 내부 클래스여야 합니다. ArrayList에서 찾을 수 없는 경우 해당 기본 클래스에 있어야 합니다. Iterator는 컬렉션 클래스마다 달라야 합니다.