#软件构造# Java遍历总结

本文详细介绍了Java中List、Set和Map三种集合类型的遍历方法,包括使用迭代器、增强for循环和普通for循环等不同方式,并强调了在遍历过程中进行元素删除时的注意事项。

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

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

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); 
}

好了,今天就到这里。

依旧放上个人博客地址:Java遍历总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值