哎,Java的循环一直在用,一直在忘,不如总结一下,没事看看哈哈哈 2018new_erha_org.png

就从简单到复杂的顺序来吧

List

这里需要注意,如果在遍历时删除元素的话,请倒序遍历或者使用迭代器(第二种)

第一种:

for(Iterator iterator = list.iterator(); iterator.hasNext();){                    
    int i = (Integer) iterator.next();                   
    System.out.println(i);               
}

第二种:

Iterator iterator = list.iterator();
while(iterator.hasNext()){
    int i = (Integer) iterator.next();
    System.out.println(i);
}

第三种:

for (Object object : list) { 
    System.out.println(object); 
}

第四种:

for(int i = 0 ; i < list.size(); i++) {  
    int j = (Integer) list.get(i);
    System.out.println(j);  
}

Set

和List类似,需要删除的话最好使用迭代器(第一种)

第一种:

Set<Integer> set = new HashSet<Integer>();  
Iterator<Integer> it = set.iterator();  
while (it.hasNext()) {  
  Integer i = it.next();  
  System.out.println(i);  
} 

第二种:

for (Integer i : set) {  
      System.out.println(i);  
}  

Map

和上面类似,需要遍删除时需要迭代器遍历(第三种)

第一种:

Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 
for (Map.Entry<Integer, Integer> entry : map.entrySet()) { 
  System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 
}

第二种:

Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 
//遍历map中的键 
for (Integer key : map.keySet()) { 
  System.out.println("Key = " + key); 
} 
//遍历map中的值 
for (Integer value : map.values()) { 
  System.out.println("Value = " + value); 
}

第三种:

//使用泛型:
Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 
Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator(); 
while (entries.hasNext()) { 
  Map.Entry<Integer, Integer> entry = entries.next(); 
  System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 
}

//不使用泛型:
Map map = new HashMap(); 
Iterator entries = map.entrySet().iterator(); 
while (entries.hasNext()) { 
  Map.Entry entry = (Map.Entry) entries.next(); 
  Integer key = (Integer)entry.getKey(); 
  Integer value = (Integer)entry.getValue(); 
  System.out.println("Key = " + key + ", Value = " + value); 
}