Stream流是Java 8引入的新特性,它提供了一种流式操作集合的方式,可以方便地进行筛选、排序、映射等操作。下面是一些常用的Stream流命令以及示例:
filter:根据条件过滤集合中的元素。
List<String> list = Arrays.asList("apple", "banana", "orange", "pear", "watermelon"); List<String> filteredList = list.stream().filter(s -> s.startsWith("a")).collect(Collectors.toList());
|
map:对集合中的元素进行映射操作,返回一个新的集合。
List<String> list = Arrays.asList("apple", "banana", "orange", "pear", "watermelon"); List<String> mappedList = list.stream().map(String::toUpperCase).collect(Collectors.toList());
|
sorted:对集合中的元素进行排序操作。
List<Integer> list = Arrays.asList(5, 2, 7, 3, 9); List<Integer> sortedList = list.stream().sorted().collect(Collectors.toList());
|
distinct:去重操作,返回一个没有重复元素的集合。
List<Integer> list = Arrays.asList(1, 2, 2, 3, 3, 3, 4, 4, 4, 4); List<Integer> distinctList = list.stream().distinct().collect(Collectors.toList());
|
limit:限制集合中元素的数量。
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5); List<Integer> limitedList = list.stream().limit(3).collect(Collectors.toList());
|
reduce:对集合中的元素进行归约操作。
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5); int sum = list.stream().reduce(0, Integer::sum);
|