list.stream
时间: 2023-05-24 21:03:03 浏览: 51
().filter()的用法是什么?
A:list.stream().filter()是Java 8中Stream API中的一个操作,可以基于某些条件筛选列表中的元素并将它们放入一个新的流中。Stream API是一个函数式编程的工具集,能够更加优雅和高效地进行集合操作。
具体来说,list.stream()可以将一个集合转化为流,filter()方法则接受一个谓词(即Predicate<T>接口的实例),用于筛选集合中的元素。这个谓词决定了哪些元素会被保留,返回true的元素会被添加到新的流中。最后,可以使用collect()方法将新的流转换为一个列表或其他形式的集合。
示例代码:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> newList = list.stream()
.filter(i -> i % 2 == 0)
.collect(Collectors.toList());
这段代码会生成一个新的列表,其中只包含原列表中的偶数元素。
相关问题
list.stream用法
list.stream() 是 Java 8 中引入的一个方法,用于将 List 转换为一个 Stream 对象。Stream 是一种新的数据处理方式,可以方便地对集合进行操作和处理。
使用 list.stream() 方法可以创建一个 Stream 对象,然后可以利用 Stream 提供的各种方法进行数据的过滤、映射、排序、聚合等操作。例如,可以使用 filter() 方法对 Stream 进行过滤,使用 map() 方法进行映射,使用 sorted() 方法进行排序等。
下面是一些 list.stream() 的示例用法:
1. 遍历 List 中的元素:
list.stream().forEach(System.out::println);
2. 筛选符合条件的元素:
list.stream().filter(e -> e > 5).forEach(System.out::println);
3. 对元素进行映射:
list.stream().map(e -> e * 2).forEach(System.out::println);
4. 对元素进行排序:
list.stream().sorted().forEach(System.out::println);
5. 对元素进行聚合操作:
int sum = list.stream().reduce(0, Integer::sum);
System.out.println(sum);
通过使用 list.stream(),我们可以更灵活地操作集合中的数据,并且代码更加简洁易读。希望对你有帮助!如果你还有其他问题,请继续提问。
list.stream 排序
可以使用 list.stream().sorted() 方法对 List 进行排序,例如:
```
List<Integer> list = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5, 3);
List<Integer> sortedList = list.stream().sorted().collect(Collectors.toList());
System.out.println(sortedList);
```
输出结果为:[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]
如果要进行自定义排序,可以使用 sorted(Comparator<T> comparator) 方法,例如:
```
List<String> list = Arrays.asList("apple", "banana", "orange", "pear");
List<String> sortedList = list.stream().sorted((s1, s2) -> s1.compareTo(s2)).collect(Collectors.toList());
System.out.println(sortedList);
```
输出结果为:[apple, banana, orange, pear]