Collection类的迭代(重点)
-
所有Collection类的迭代方法都是通用的方法,即所有它的子类都是可以用的。但是Map集合不能调用
-
迭代器好比给调用时候的集合对象拍了一张快照,所以后续对集合有什么结构性变化都会使得迭代器失效需要更新。
-
在创建集合对象之后,通过调用iterator方法获取迭代器对象
-
Iterator的常用方法:
- boolean hasNext() 如果有元素可以叠戴,则返回true
-
boolean hasNext = it.hasNext()
- Object next() 返回迭代的下一个元素
-
Object obj = it.next()
-
迭代器对象最初并没有指向第一个元素,hasNext方法返回是否有下一个元素,如果有,用next方法返回下一个元素。
package collection;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
public class CollectionTest02 {
public static void main(String[] args) {
//创建集合对象
Collection c = new HashSet();//后面的集合无所谓,主要是关注前面的Collection接口怎么迭代
//添加元素
c.add("abc");
c.add("def");
c.add(100);
c.add(new Object());
//对集合Collection进行遍历/迭代
//第一步:获取集合对象的迭代对象Iterator
Iterator it = c.iterator();
//第二部:通过迭代器对象迭代遍历集合
boolean hasNext = it.hasNext();
while (hasNext){
//不管当初存进去什么,取出来都是Object
Object obj = it.next();
System.out.println(obj);
}
}
}