工具方法运用(一)
工具方法运用(一)
1、Java Collection集合的三种遍历方式
- 迭代器
- foreach/增强for循环
- lambda表达式
Collection<String> collection = new ArrayList<>();
collection.add("aaaa");
collection.add("bbbbb");
collection.add("ccccc");
System.out.println(collection.toString());
//返回集合中的迭代器对象,该迭代器对象默认指向当前集合的0索引
Iterator<String> it = collection.iterator();
//hasNext()询问当前位置是否有元素存在,存在返回true ,不存在返回false
while(it.hasNext()) {
//it.next()获取当前位置的元素,并同时将迭代器对象移向下一个位置,注意防止取出越界。
System.out.println(it.next());
}
输出:
[aaaa, bbbbb, ccccc]
aaaa
bbbbb
ccccc
Collection<String> collection = new ArrayList<>(); for(String data :collection) { System.out.println(data); }
collection.forEach(new Consumer<String>() { @Override public void accept(String t) { System.out.println(t); } });
collection.forEach(s->System.out.println(s));//JDK8以上新特性 lambda表达式
2、Map遍历方式
- Iterator迭代器遍历Map集合 (01 KeySet遍历 02 EntrySet遍历)
- 使用forEach(Biconsumer action)方法遍历Map集合
Map<String,Object> map = new HashMap<>(); map.put("k1", "aaa"); map.put("k2", "bbb"); map.put("k3", "ccc"); //01 keySet遍历 Set<String> keySet = map.keySet(); Iterator<String> it = keySet.iterator(); while(it.hasNext()) { String key = it.next(); System.out.println("key = "+ key+"; value = "+map.get(key)); } System.out.println("--------------------------"); //02 entrySet遍历 Iterator<Map.Entry<String,Object>> it1 = map.entrySet().iterator(); while(it1.hasNext()) { Entry<String, Object> entry = it1.next(); System.out.println("key = "+ entry.getKey()+"; value = "+entry.getValue()); } System.out.println("--------------------------"); //03 for循环 for(Map.Entry<String,Object> entry : map.entrySet()) { System.out.println("key = "+ entry.getKey()+"; value = "+entry.getValue()); } System.out.println("--------------------------"); //04 lambda表达式 map.forEach((key,value)->System.out.println("key = "+ key+"; value = "+value)); System.out.println("--------------------------"); //05 stream流遍历map map.entrySet().stream().forEach((Map.Entry<String,Object> entry)->System.out.println("key = "+ entry.getKey()+"; value = "+entry.getValue())); }
posted on 2023-08-07 22:05 VincentYew 阅读(4) 评论(0) 编辑 收藏 举报