JDK8 中关于集合的遍历

来源:互联网 发布:淘宝vr眼镜 编辑:程序博客网 时间:2024/06/06 20:22

Lambda

Lambda 是JDK8新特性 对它的概念不再重复说明,只是对于代码中个别表达式做简单介绍,lambda表达式就个人理解就是“*没有任何声明的可带入参(可以是java的可变参数)可访问外部变量(有外部变量的贮存区域,可访问方法引用与访问构造)的可执行的代码块的语法糖*”。

ps:Lambda访问外部变量时 外部变量不可变,此处的不可变是指变量的引用不可变
关于 stream不做过多介绍 ,可以自己查看资料

List 集合的遍历

List<Integer> test = new ArrayList<>();for (int i = 0; i < 5; i++) {    test.add(i);}System.out.println("==========for模式============");for(int i = 0 ; i < test.size();i++){    System.out.println(test.get(i));}System.out.println("==========foreach============");test.forEach(integer -> System.out.println(integer));System.out.println("==========stream==============");test.stream().forEach(System.out::println);System.out.println("==========配置filter=========");test.stream().filter(integer -> integer == 0).forEach(System.out::println);

Map 遍历

Map<String, Object> param = new HashMap<>();param.put("test1", "测试一下");param.put("test2", "测试两下");param.forEach((key, value) -> {    System.out.println(key);    System.out.println(value);});System.out.println("#########################");param.keySet().stream().filter(key -> key.equalsIgnoreCase("test1")).forEach(key -> {   System.out.println(key);});System.out.println("*************************");param.entrySet().stream().filter(entry -> entry.getKey().equalsIgnoreCase("test1")).forEach(key -> {    System.out.println(key);});System.out.println("=========================");param.values().stream().filter(value -> value.equals("测试两下")).forEach(System.out::println);
原创粉丝点击