Java 集合 遍历方式

熊孩纸 阅读:591 2021-03-31 12:56:03 评论:0

Java 集合之List 遍历方式总结:

前提:初始化List集合数据

 List<String> list = new ArrayList<String>( 
            Arrays.asList("tom","cat","Jane","jerry"));

第一种方式:使用迭代器迭代

 Iterator it1 = list.iterator(); 
 while(it1.hasNext()){ 
   String str = it1.next(); 
   // 自定义业务逻辑 
  }

第二种方式:优化迭代器迭代

for(Iterator it2 = list.iterator();it2.hasNext();){ 
        String str = it2.next(); 
        // 自定义业务逻辑 
 }

第三种方式:增强型for循环遍历

 for(String value:list){ 
     // 自定义业务逻辑 
  }

第四种方式:一般for 循环

 for(int i = 0;i < list.size(); i ++){ 
     String str = list.get(i); 
     // 自定义业务逻辑 
  }

第五种方式:java8 之stream 

list.forEach(item->System.out.println(item));

另外一种写法

list.forEach(item->{ 
    // 自定义业务逻辑 
});

Java 集合之Map 遍历方式总结:

前提:初始化map集合数据

  Map<String,Integer> map = new HashMap<String,Integer>(); 
  map.put("tom1",1); 
  map.put("tom2",2); 
  map.put("tom3",3); 
  map.put("tom5",5); 
  map.put("tom4",4);

第一种方式:使用迭代器迭代

Iterator it = map.entrySet().iterator(); 
while (it.hasNext()) { 
   Map.Entry entry = (Map.Entry) it.next(); 
   Object key = entry.getKey(); 
   Object value = entry.getValue(); 
   System.out.print(key+" -->: "+value+"\t"); 
}

第二种方式:增强型for 循环

for(String o : map.keySet()){ 
     System.out.print (map.get(o)+"\t"); 
}

第三种方式:优化增强型for循环 + entrySet()

for (Map.Entry<String, Integer> m : map.entrySet()) { 
       System.out.println("[name = " + m.getKey() + "] age = " + m.getValue()); 
}

第四种方式:Java 8 之Stream

map.forEach((k,v)->System.out.println("Item : " + k + " Count : " + v));

另外一种方式

items.forEach((k,v)->{ 
    System.out.println("Item : " + k + " Count : " + v); 
});

Java 集合之Set 遍历方式总结:

前提:初始化set集合数据

List<String> list = new ArrayList<>(Arrays.asList("tom","cat","Jane","jerry")); 
Set<String> set = new HashSet<>(); 
set.addAll(list);

第一种方式:使用迭代器迭代

Iterator it1 = set.iterator(); 
while(it1.hasNext()){ 
      System.out.println(it1.next()); 
}

第二种方式:优化迭代器迭代

 for(Iterator it2 = set.iterator();it2.hasNext();){ 
       System.out.println(it2.next()); 
  }

第三种方式:增强型for 循环

 for(String value: set){ 
   System.out.println(value); 
 }

第四种方式:Java8 之Stream

set.forEach(item->System.out.println(item));

另一种写法

set.forEach(item->{ 
    // 自定义业务逻辑 
});

 

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号