1:List接口有下标,Set接口没有下标(一个不包含重复元素的Collection)。
Collection接口的基本方法:
Iterator迭代器:
Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。
集合中把这种取元素的方式描述在Iterator接口中。Iterator接口的常用方法如下:
hasNext()方法:用来判断集合中是否有下一个元素可以迭代。如果返回true,说明可以迭代。
next()方法:用来返回迭代的下一个元素,并把指针向后移动一位。
注意事项:当用迭代器遍历元素时,不可以进行增删操作,因为集合的下标用了迭代器则不可以改变,可以理解为一个指针指向哪一个元素,就取出哪一个元素,不可以往回找,同时next()方法执行一次,就会取出一个元素,在执行只会往下取,而不会往前取。
.iterator()这个方法属于iterable类,这个方法返回的是Iterator<T>迭代器,同时它是Collection的接口,所以需要进行向下转型来获取对象。Iterator<String> it = coll.iterator();
并且需要明确Iterator的泛型。
方法摘要 | |
---|---|
Iterator<T> |
iterator() 返回一个在一组 T 类型的元素上进行迭代的迭代器。 |
增强for循环代码体现:
Collection<Person2> coll=new ArrayList<Person2>();
coll.add(new Person2("lisi",33));
coll.add(new Person2("zhagnsan",35));
coll.add(new Person2("huangzhong",43));
Iterator it=coll.iterator();
for(Person2 d:coll){
System.out.println(d);
}
格式:for(元素类型 变量名:集合名字){
system.out.println(变量名);
}