欢迎来到Vincentyw的博客

该来的终究会来,该走的也一定会离开。凡事都存在前因后果,因缘成熟了,果报便产生了,无法阻挡。
但是发生过了就会消失,有来就有走,一切都是过客,把握自己当下的因缘,承担起自己该承担的责任,做好眼前该做的事情,做的时候尽全力,过去便放下,放下即自在。

工具方法运用(一)

工具方法运用(一)

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编辑  收藏  举报

导航