Java Stream 是 JDK 8 引入的一个函数式编程特性,用于支持处理集合和数组等数据结构的功能。Java Stream 通过一种类似于 SQL 语句的方式,对集合或数组等数据结构进行处理和转换,使得代码更加简洁、易读、易于维护。
以下是 Java Stream 常见的用法:
遍历集合
可以通过 stream() 方法获得一个 Stream 对象,然后使用 forEach() 方法遍历集合,如下所示:
List<String> list = Arrays.asList("a", "b", "c");
list.stream().forEach(System.out::println);
过滤元素
可以使用 filter() 方法过滤集合中的元素,符合条件的元素将被保留,不符合条件的元素将被过滤掉,如下所示:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
list.stream().filter(i -> i > 3).forEach(System.out::println);
映射元素
可以使用 map() 方法将集合中的元素映射成新的元素,如下所示:
List<String> list = Arrays.asList("a", "b", "c");
list.stream().map(s -> s.toUpperCase()).forEach(System.out::println);
统计元素
可以使用 count() 方法统计集合中的元素个数,如下所示:
List<String> list = Arrays.asList("a", "b", "c");
long count = list.stream().count();
查找元素
可以使用 findFirst() 和 findAny() 方法查找集合中的元素,如下所示:
List<String> list = Arrays.asList("a", "b", "c");
Optional<String> first = list.stream().findFirst();
Optional<String> any = list.stream().findAny();
排序元素
可以使用 sorted() 方法对集合中的元素进行排序,如下所示:
List<Integer> list = Arrays.asList(5, 4, 3, 2, 1);
list.stream().sorted().forEach(System.out::println);
合并元素
可以使用 reduce() 方法将集合中的元素合并成一个元素,如下所示:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Optional<Integer> sum = list.stream().reduce((a, b) -> a + b);
以上是 Java Stream 常见的用法,可以根据具体的需求选择使用不同的方法来处理集合或数组等数据结构。