它的底层实现就是使用Iterator。
什么样的容器可以使用增强for?-----------实现Iterable接口
增强for的缺点:只能进行遍历,不能进行在遍历过程中的操作.
增强for的格式
for(类型 引用:容器){
}
关于对集合的遍历.
1 package com.hexiaolin.work; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.HashSet; 6 import java.util.Iterator; 7 import java.util.List; 8 import java.util.ListIterator; 9 import java.util.Map; 10 import java.util.Set; 11 12 import org.junit.Test; 13 14 public class ConnDemo { 15 //集合list的遍历 16 @Test 17 public void list() { 18 List<Integer> list = new ArrayList<Integer>(); 19 for (int i = 0; i < 10; i++) { 20 list.add(i); 21 } 22 23 //1 Iterator迭代器 24 for (Iterator<Integer> iterator = list.iterator(); iterator.hasNext();) { 25 System.out.println(iterator.next()); 26 } 27 System.out.println("##############"); 28 29 //2 ListIterator 30 for (ListIterator<Integer> iterator =list.listIterator(); iterator.hasNext();) { 31 System.out.println(iterator.next()); 32 } 33 System.out.println("##############"); 34 //3普通for 35 for (int i = 0; i < list.size(); i++) { 36 System.out.println(list.get(i)); 37 } 38 System.out.println("##############"); 39 //4Iterator迭代器+while循环 40 Iterator< Integer> iterator=list.iterator(); 41 while (iterator.hasNext()) { 42 System.out.println(iterator.next()); 43 } 44 System.out.println("##############"); 45 //5增强for 46 for (Integer integer : list) { 47 System.out.println(integer); 48 } 49 System.out.println("##############"); 50 } 51 //集合Set的遍历 52 @Test 53 public void set() { 54 Set<Integer> set=new HashSet<Integer>(); 55 for (int i = 0; i < 10; i++) { 56 set.add(i); 57 } 58 //Iterator迭代器 59 for (Iterator<Integer > iterator = set.iterator();iterator.hasNext();) { 60 System.out.println(iterator.next()); 61 } 62 System.out.println("##############"); 63 //增强for 64 for (Integer integer:set) { 65 System.out.println(integer); 66 } 67 System.out.println("##############"); 68 } 69 //集合Map的遍历 70 @Test 71 public void map() { 72 Map<String, String> map=new HashMap<String, String>(); 73 for (int i = 0; i < 10; i++) { 74 map.put("key"+i, "value"+i); 75 } 76 //keySet 77 for (String key :map.keySet()) { 78 System.out.println(key+" "+map.get(key)); 79 } 80 System.out.println("##############"); 81 //entrySet 82 for (Map.Entry<String, String> entry :map.entrySet()) { 83 System.out.println(entry.getKey()+" "+entry.getValue()); 84 } 85 System.out.println("##############"); 86 } 87 }