java8新特性forEach在Map和List的应用
转自:https://www.cnblogs.com/go-onxp/p/jdk8.html
java8 forEach 在Map和List中的使用
原始的使用

- 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);
- for (Map.Entry<String,Integer> entry : items.entrySet()){
- System.out.println("key:"+entry.getKey()+";value:"+entry.getValue());
- }
- //output
- A---10
- B---20
- C---30
- D---40
- E---50
- F---60

forEach 使用方式

- items.forEach((k,v)->System.out.println("key : " + k + "; value : " + v));
- //output
- key : A value : 10
- key : B value : 20
- key : C value : 30
- key : D value : 40
- key : E value : 50
- key : F value : 60


- items.forEach((k,v)->{
- System.out.println("Item : " + k + " Count : " + v);
- if("E".equals(k)){
- System.out.println("Hello E");
- }
- });
- key : A; value : 10
- key : B; value : 20
- key : C; value : 30
- key : D; value : 40
- key : E; value : 50
- Hello E

java8 List 原先的使用方式

- List<String> arrayList = new ArrayList<>();
- arrayList.add("A");
- arrayList.add("B");
- arrayList.add("C");
- arrayList.add("D");
- arrayList.add("E");
- for (String item:arrayList){
- System.out.println(item);
- }

java8 forEach 使用方式

- arrayList.forEach(item->System.out.println(item));
- arrayList.forEach(System.out::println);
- arrayList.forEach(item->{
- if("C".equals(item)){
- System.out.println(item);
- }
- });
- arrayList.stream()
- .filter(s-> s.contains("B")||s.contains("C"))
- .forEach(System.out::println);
- arrayList.stream()
- .filter(s->s.contains("E"))
- .findFirst().ifPresent(s -> System.out.println(s));

java8新特性forEach在Map和List的应用的更多相关文章
- java8新特性:对map集合排序
一.简单介绍Map 在讲解Map排序之前,我们先来稍微了解下map,map是键值对的集合接口,它的实现类主要包括:HashMap, TreeMap, Hashtable以及LinkedHashMap等 ...
- java8新特性--Stream的基本介绍和使用
什么是Stream? Stream是一个来自数据源的元素队列并可以进行聚合操作. 数据源:流的来源. 可以是集合,数组,I/O channel, 产生器generator 等 聚合操作:类似SQL语句 ...
- java8新特性全面解析
在Java Code Geeks上有大量的关于Java 8 的教程了,像玩转Java 8--lambda与并发,Java 8 Date Time API 教程: LocalDateTime和在Java ...
- Java8新特性
Java8新特性 Java8主要的新特性涵盖:函数式接口.Lambda 表达式.集合的流式操作.注解的更新.安全性的增强.IO\NIO 的改进.完善的全球化功能等. 1.函数式接口 Java 8 引入 ...
- Java8 新特性之Stream----java.util.stream
这个包主要提供元素的streams函数操作,比如对collections的map,reduce. 例如: int sum = widgets.stream() .filter(b -> b.ge ...
- 这可能是史上最好的 Java8 新特性 Stream 流教程
本文翻译自 https://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/ 作者: @Winterbe 欢迎关注个人微信公众 ...
- 干货 | Java8 新特性教程
本教程翻译整理自 https://github.com/winterbe/java8-tutorial 本教程首发自个人网站: https://www.exception.site/java8/jav ...
- Java8新特性之Collectors
参考:Java8新特性之Collectors 在第二天,你已经学习了Stream API能够让你以声明式的方式帮助你处理集合.我们看到collect是一个将管道流的结果集到一个list中的结束操作.c ...
- 乐字节-Java8新特性之Optional
上一篇小乐带大家了解了Java新特性之Stream,接下来将会继续述说Java新特性之Optional Optional<T>类(java.util.Optional)是一个容器类,代表一 ...
随机推荐
- ActiveMQ-5.15.2下载和启动(windows)
一.下载和部署 我的ActiveMQ版本是 5.15.2,参照别人家的博客,下载和启动照样成功.别人家的博客地址: http://blog.csdn.net/clj198606061111/artic ...
- 转载--无弹窗APT渗透实验
转载--无弹窗APT渗透实验 文章作者:亚信安全,转载自 FreeBuf.COM APT攻击方式花样繁多,我研究最近的流行的APT攻击方式,在本地搭建环境模拟一次简单的APT攻击,在模拟攻击过程中发现 ...
- 性能测试day03_前端分析调优思路
刚刚看到有人支持我写的博客,表示还是比较感动的,发现热心的用户在我的博客留言说“一个系统每天有200万在线用户,问我怎么设计性能场景?”,其实这个问题呢就属于业务没理清,这个问题就像我问你,一个城市一 ...
- leetcode20:有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...
- Laravel常见问题集锦
1.提示:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes? ...
- scrollview嵌套recyclerview卡顿现象
方式一xml: android:nestedScrollingEnabled="false" <android.support.v7.widget.RecyclerView ...
- 6.Python enumerate 特性
enumerate()可参考: list1 = ["这", "是", "一个", "测试"] for index,ite ...
- ccc切割刚体
// http://www.emanueleferonato.com/2011/08/05/slicing-splitting-and-cutting-objects-with-box2d-part- ...
- 38.Spring-spring和hibernate整合.md
目录 1.定义各种类对象 2.创建Hibernate配置文件 3.配置applicationContext.xml 4.注意事项 1.定义各种类对象 package per.liyue.sh.demo ...
- Unity与安卓IOS交互
记录下 安卓与Unity交互中 跳坑 找到的资料. <1>建立交互 http://blog.csdn.net/lizhengwei1989/article/details/54631 ...