最好的网站设计公司,建立网站内容需要做的事,景点介绍网站模板,wordpress相对地址JDK8最大的改变#xff1a;
1. lambda表达式
2. Stream
1. Steam流的入门
什么是Stream#xff1f; 也叫Stream流#xff0c;是jdk8开始的一套API#xff0c;用于操作集合或者数组中的数据
优点#xff1a;
Stream流大量结合了Lambda的语法风格来创建#xff0c;提…JDK8最大的改变
1. lambda表达式
2. Stream
1. Steam流的入门
什么是Stream 也叫Stream流是jdk8开始的一套API用于操作集合或者数组中的数据
优点
Stream流大量结合了Lambda的语法风格来创建提供了一种更加强大、更加简单的操作集合或者数组中的数据代码更简洁可读性更好 package org.example;import java.util.*;
import java.util.function.BiConsumer;
import java.util.stream.Collectors;public class Main {public static void main(String[] args) {ListString names new ArrayList();Collections.addAll(names, 张三丰, 张无忌, 王五, 李四, 张三);System.out.println(names);System.out.println(--------------------------------);// 需求 将姓张的, 并且名字是3个字的人名放到一个新集合/*1. 集合和数组的API方法*/ListString list new ArrayList();for (String name: names) {if (name.length() 3 name.startsWith(张)) {list.add(name);}}System.out.println(list);System.out.println(--------------------------------);/*2. 使用Steam流*/ListString list2 names.stream().filter(s-s.startsWith(张)).filter(a-a.length() 3).collect(Collectors.toList());System.out.println(list2);}
} 掌握Stream流就是掌握Stream流的创建、中间方法、终结方法 2. Stream流的创建 package org.example;import java.util.*;
import java.util.function.BiConsumer;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;public class Main {public static void main(String[] args) {/*1. List 获取 stream流*/ListString names new ArrayList();Collections.addAll(names, 张三丰, 张无忌, 王五, 李四, 张三);StreamString stream names.stream();stream.filter(s-s.contains(三)).forEach(System.out::println);System.out.println(--------------------------------);/*2. Set 获取stream流*/SetString set new HashSet();set.addAll(names);System.out.println(set);System.out.println(--------------------------------);StreamString stream1 set.stream();stream1.filter(s-s.contains(三)).forEach(System.out::println);System.out.println(--------------------------------);/*3. Map 获取stream流*/MapString, Integer map new HashMap();map.put(张三丰, 1);map.put(张无忌, 2);map.put(王五, 3);map.put(李四, 4);map.put(张三, 5);SetString keys map.keySet();StreamString stream2 keys.stream();CollectionInteger values map.values();StreamInteger stream3 values.stream();SetMap.EntryString, Integer entries map.entrySet();StreamMap.EntryString, Integer kvs entries.stream();kvs.filter(e - e.getKey().contains(三)).forEach(e - {System.out.println(e.getKey() e.getValue());});/*4. 获取数组的stream流*/String[] arr {1, 2, 3};StreamString stream4 Arrays.stream(arr);StreamString stream5 Stream.of(arr);}
}
3. Stream流的中间方法 4. Stream流的终结方法 收集Stream流只能收集一次 package org.example;import java.util.*;import java.util.stream.Collectors;
import java.util.stream.Stream;public class Main {public static void main(String[] args) {MapString, Integer map new HashMap();map.put(张三丰, 1);map.put(张无忌, 2);map.put(王五, 3);map.put(李四, 4);map.put(张三, 5);SetMap.EntryString, Integer entries map.entrySet();StreamMap.EntryString, Integer kvs entries.stream();StreamMap.EntryString, Integer kvs1 entries.stream();MapString, Integer map1 kvs.collect(Collectors.toMap(e - e.getKey() t, e - e.getValue() * 10));System.out.println(map1);/*{王五t30, 张三丰t10, 张三t50, 李四t40, 张无忌t20}*/// Object[] arr kvs1.toArray();Map.EntryString, Integer[] arr kvs1.toArray(len - new Map.Entry[len]);System.out.println(Arrays.toString(arr));/*[李四4, 张三5, 王五3, 张三丰1, 张无忌2]*/}
}
最后