lambda 表达式效率非常低,测试代码可以看到大概3~5倍的差距

遍历Map的方式有很多,通常场景下我们需要的是遍历Map中的Key和Value,那么推荐使用的:

  1. public static void main(String[] args)

  2. {

  3.    HashMaphm = new HashMap();

  4.    hm.put(“111”, “222”);

  5.    Set<Map.Entry<String, String>> entrySet = hm.entrySet();

  6.    Iterator<Map.Entry<String, String>> iter = entrySet.iterator();

  7.    while (iter.hasNext())

  8.    {

  9.         Map.Entry<String, String> entry = iter.next();

  10.         System.out.println(entry.getKey() + "\t" + entry.getValue());

  11.    }

  12. }

如果你只是想遍历一下这个Map的key值,那用”SetkeySet = hm.keySet();”会比较合适一些。

如果使用jdk1.8

In Java 8, you can loop a Map with forEach + lambda expression.

Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60); items.forEach((k,v)->System.out.println("Item : " + k + " Count : " + v)); items.forEach((k,v)->{
System.out.println("Item : " + k + " Count : " + v);
if("E".equals(k)){
System.out.println("Hello E");
}
});
 -----------List遍历
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E"); for(String item : items){
System.out.println(item);
}

2.2 In Java 8, you can loop a List with forEach + lambda expression or method reference.

List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E"); //lambda
//Output : A,B,C,D,E
items.forEach(item->System.out.println(item)); //Output : C
items.forEach(item->{
if("C".equals(item)){
System.out.println(item);
}
}); //method reference
//Output : A,B,C,D,E
items.forEach(System.out::println); //Stream and filter
//Output : B
items.stream()
.filter(s->s.contains("B"))
.forEach(System.out::println);

最新文章

  1. 程序员玩转A股
  2. 根据第三方库spire.pdf使用指定打印机打印pdf文件
  3. windows下关闭进程
  4. An Unfair Game-[ACdream1035]
  5. jquery-uploadify 上传
  6. 把HDFS里的json数据转换成csv格式
  7. Linux中的随机数文件 /dev/random /dev/urandom
  8. OC基础2:一些基本概念
  9. gulp相关知识(1)
  10. JaveScript变量的简介及其变量的简单使用(JS知识点归纳一)
  11. WebAPI 实现前后端分离
  12. C语言--测试电脑存储模式(大端存储OR小端存储)
  13. (双指针) leetcode 27. Remove Element
  14. Thinkphp5.1 模板路径报错
  15. usermod命令详解
  16. C# .NET ToList()分页
  17. SHELL脚本取系统当前年月日问题 (去0)
  18. 【.netcore学习】.netcore添加到 supervisor 守护进程自启动报错
  19. loj2537 「PKUWC2018」Minimax 【概率 + 线段树合并】
  20. window中findstr命令的用法

热门文章

  1. Django-manage.py
  2. C#窗口矩形区域着色
  3. 【转】Android打印机--没有设备驱动sdk,自己实现USB打印功能
  4. fastdfs5.11+centos7.2 按照部署(一)【转载】
  5. Hadoop案例(九)流量汇总案例
  6. day4 迭代器与生成器解析
  7. 开发 ASP.NET vNext 初步总结(使用Visual Studio 2015 Preview )
  8. pyqt5之QColorDialog颜色对话框最简单使用
  9. Group_Concat函数示例
  10. 微信公共服务平台开发(.Net的实现)1 认证“成为开发者”