ArrayList遍历
//第一种遍历方式:利用下标遍历 4 System.out.print("for循环的遍历方式:"); 5 for (int i = 0; i < lists.size(); i++) { 6 System.out.print(lists.get(i)); 7 } 8 System.out.println(); 9 10 //第二种遍历方式:利用foreach遍历 11 System.out.print("foreach的遍历方式:"); 12 for (Integer list : lists) { 13 System.out.print(list); 14 } 15 System.out.println(); 16 17 //第三种遍历方式:利用迭代器遍历 18 System.out.print("Iterator的遍历方式:"); 19 for (Iterator<Integer> list = lists.iterator(); list.hasNext();) { 20 System.out.print(list.next()); 21 }
Set遍历
// 方法一:Iterator迭代器遍历 Iterator<String> itr = set.iterator(); while (itr.hasNext()) { String str = itr.next(); System.out.println(str); } // 方法二:通过foreach循环遍历 for (String str : set) { System.out.println(str); }
注:Set集合中不存在下标,因此无法通过下标遍历,对于Java编译器而言,方法一和方法二是等价的
Map遍历
package gw20180809; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Test { public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("及时雨", "宋江"); map.put("豹子头", "林冲"); map.put("黑旋风", "李逵"); // 第一种:普遍使用,二次取值.通过map.keySet得到key,再通过key得到value System.out.println("通过Map.keySet遍历key和value:"); for (String key : map.keySet()) { System.out.println("key=" + key + "\t" + "value=" + map.get(key)); } // 第二种:通过迭代器遍历得到key和value,该方法较为麻烦 System.out.println("通过Map.entrySet使用iterator遍历key和value:"); Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, String> entry = it.next(); System.out.println("key=" + entry.getKey() + "\t" + "value=" + entry.getValue()); } // 第三种:通过foreach循环遍历,得到key和value。推荐,尤其是容量大时 System.out.println("通过Map.entrySet遍历key和value"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("key=" + entry.getKey() + "\t" + "value=" + entry.getValue()); } // 第四种 System.out.println("通过Map.values()遍历所有的value,但不能遍历key"); for (String v : map.values()) { System.out.println("value= " + v); } } }