1.遍历Collection的两种方式:
① 使用迭代器Iterator ② foreach循环(或增强for循环)
2.java.utils包下定义的迭代器接口:Iterator
2.1说明:
- Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素。
- GOF给迭代器模式的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。迭代器模式,就是为容器而生。
2.2作用
遍历集合Collectiton元素
2.3如何获取实例
coll.iterator()返回一个迭代器实例
2.4遍历的代码实现
1 2 3 4 5 6
| Iterator iterator = coll.iterator();
while(iterator.hasNext()){ System.out.println(iterator.next()); }
|
2.5图示说明
2.6 remove()的使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
@Test public void test3(){ Collection coll = new ArrayList(); coll.add(123); coll.add(456); coll.add(new Person("Jerry",20)); coll.add(new String("Tom")); coll.add(false);
Iterator iterator = coll.iterator(); while (iterator.hasNext()){
Object obj = iterator.next(); if("Tom".equals(obj)){ iterator.remove();
}
} iterator = coll.iterator(); while (iterator.hasNext()){ System.out.println(iterator.next()); } }
|
3.jdk5.0新特性–增强for循环:(foreach循环)
3.1 遍历集合举例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| @Test public void test1(){ Collection coll = new ArrayList(); coll.add(123); coll.add(456); coll.add(new Person("Jerry",20)); coll.add(new String("Tom")); coll.add(false);
for(Object obj : coll){ System.out.println(obj); } }
|
说明:内部仍然调用了迭代器。
3.2 遍历数组举例
1 2 3 4 5 6 7 8
| @Test public void test2(){ int[] arr = new int[]{1,2,3,4,5,6}; for(int i : arr){ System.out.println(i); } }
|