java8 forEach 在Map和List中的使用

原始的使用

  1. Map<String, Integer> items = new HashMap<>();
  2. items.put("A", 10);
  3. items.put("B", 20);
  4. items.put("C", 30);
  5. items.put("D", 40);
  6. items.put("E", 50);
  7. items.put("F", 60);
  8.  
  9. for (Map.Entry<String,Integer> entry : items.entrySet()){
  10. System.out.println("key:"+entry.getKey()+";value:"+entry.getValue());
  11. }
  12. //output
  13. A---10
  14. B---20
  15. C---30
  16. D---40
  17. E---50
  18. F---60

forEach 使用方式

  1. items.forEach((k,v)->System.out.println("key : " + k + "; value : " + v));
  2.  
  3. //output
  4. key : A value : 10
  5. key : B value : 20
  6. key : C value : 30
  7. key : D value : 40
  8. key : E value : 50
  9. key : F value : 60
  1. items.forEach((k,v)->{
  2. System.out.println("Item : " + k + " Count : " + v);
  3. if("E".equals(k)){
  4. System.out.println("Hello E");
  5. }
  6. });
  7.  
  8. key : A; value : 10
  9. key : B; value : 20
  10. key : C; value : 30
  11. key : D; value : 40
  12. key : E; value : 50
  13. Hello E

java8 List 原先的使用方式

  1. List<String> arrayList = new ArrayList<>();
  2. arrayList.add("A");
  3. arrayList.add("B");
  4. arrayList.add("C");
  5. arrayList.add("D");
  6. arrayList.add("E");
  7.  
  8. for (String item:arrayList){
  9. System.out.println(item);
  10. }

java8 forEach 使用方式

  1. arrayList.forEach(item->System.out.println(item));
  2.  
  3. arrayList.forEach(System.out::println);
  4.  
  5. arrayList.forEach(item->{
  6. if("C".equals(item)){
  7. System.out.println(item);
  8. }
  9. });
  10.  
  11. arrayList.stream()
  12. .filter(s-> s.contains("B")||s.contains("C"))
  13. .forEach(System.out::println);
  14.  
  15. arrayList.stream()
  16. .filter(s->s.contains("E"))
  17. .findFirst().ifPresent(s -> System.out.println(s));

转自:http://blog.csdn.net/wtljiayou/article/details/53638284

java8 forEach Map List[转载]的更多相关文章

  1. Java8中Map的遍历方式总结

    在这篇文章中,我将对Map的遍历方式做一个对比和总结,将分别从JAVA8之前和JAVA8做一个遍历方式的对比,亲测可行. public class LambdaMap { private Map< ...

  2. Java8遍历Map、Map转List、List转Map

    1. 遍历Map Map<Integer, String> map = new HashMap<>(); map.put(1, "a"); map.put( ...

  3. JS数组中every(),filter(),forEach(),map(),some()方法学习笔记!

    ES5中定义了五种数组的迭代方法:every(),filter(),forEach(),map(),some(). 每个方法都接受两个参数:要在每一项运行的函数(必选)和运行该函数的作用域的对象-影响 ...

  4. java8中map的meger方法的使用

    java8中map有一个merge方法使用示例: /** * 打印出包含号码集的label的集合 * * @param args */ public static void main(String[] ...

  5. 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight

    做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...

  6. for循环,foreach, map,reduce用法对比+for in,for of

    for不做赘述,相当简单: foreach方法: forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数. 注意: forEach() 对于空数组是不会执行回调函数的. array.f ...

  7. ES5的 forEach, map 方法的实现

    如果浏览器不支持forEach,map方法, 要我们自己封装一个, 该怎么操作呢? 1. forEach Array.prototype.forEach = function(fn) { if (th ...

  8. js中数组的循环与遍历forEach,map

    对于前端的循环遍历我们知道有 针对js数组的forEach().map().filter().reduce()方法 针对js对象的for/in语句(for/in也能遍历数组,但不推荐) 针对jq数组/ ...

  9. js之 foreach, map, every, some

    js中array有四个方法 foreach, map, every, some,其使用各有倾向. 关注点一:foreach 和 map 无法跳出循环,每个元素均执行 foreach 和 map 无法跳 ...

随机推荐

  1. selenium ide界面介绍

    Selenium Ide是firefox浏览器的一个插件,可以进行web的录制和回放,完成简单的自动化测试,同时可以将录制的脚本导出多种语言的脚本. 下面是Selenium Ide的界面: Base  ...

  2. Oracle的regexp_instr函数简单用法

    REGEXP_INSTR函数让你搜索一个正则表达式模式字符串.函数使用输入字符集定义的字符进行字符串的计算. 它返回一个整数,指示开始或结束匹配的子位置,这取决于return_option参数的值. ...

  3. dedecms(织梦系统)如何更新手机版首页模板文件

    https://jingyan.baidu.com/article/ad310e80e4b1dd1849f49e8f.html

  4. typedef void (*Fun) (void) 的理解——函数指针——typedef函数指针

    首先介绍大家比较熟悉的typedef int i;//定义一个整型变量i typedef myInt int: myInt j;//定义一个整型变量j 上面介绍得是我们常用的比较简单的typedef的 ...

  5. 3. Longest Substring Without Repeating Characters (ASCII码128个,建立哈西表)

    Given a string, find the length of the longest substring without repeating characters. For example, ...

  6. MySQL的四种不同查询的分析

    1.前置条件: 本次是基于小数据量,且数据块在一个页中的最理想情况进行分析,可能无具体的实际意义,但是可以借鉴到各种复杂条件下,因为原理是相同的,知小见大,见微知著! 打开语句分析并确认是否已经打开 ...

  7. Windows 64 位 mysql 5.7.20 安装教程

    mysql 5.7以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法 mysql官网下载地址:https://dev.my ...

  8. mysql-5.7.21安装和配置方法

      到MySQL官网下载MySQL 5.7.21的版本,下载地址:https://dev.mysql.com/downloads/mysql/ .根据自己的系统下载相应的32位或64位的版本. 将下载 ...

  9. vs调试的时候出错:无法启动程序,操作在当前状态中是非法的

    工具--选项--调试--常规--启用asp.net的JavaScript调试(chrome和ie)去掉勾选

  10. MVC报错:找到多个与名为“Home”的控制器匹配的类型。

    错误原因是:在根目录中的Controller中有HomeController,而在Areas中也有一个HomeController,只是他们的命名空间不一样. 这样的话,只需要在对应的路由注册中加入命 ...