list.stream()使用
时间: 2023-11-15 16:30:18 浏览: 80
list的使用
Java 8中引入了Stream API,它是一种高效的、函数式的数据处理方式。list.stream()是将一个List对象转换成一个Stream对象。利用Stream API,可以对List中的元素进行高效、灵活的操作,例如过滤、映射、排序、聚合等。
下面是一些常见的list.stream()的使用场景:
1. 过滤元素
可以使用filter方法过滤List中的元素,例如:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> filteredList = list.stream()
.filter(i -> i % 2 == 0)
.collect(Collectors.toList());
System.out.println(filteredList); // [2, 4, 6]
上述代码使用stream()方法将List转换成Stream,然后使用filter方法过滤了所有偶数,最后使用collect(Collectors.toList())方法将过滤后的结果转换成List对象。
2. 映射元素
可以使用map方法将List中的元素映射成另一个对象,例如:
List<String> list = Arrays.asList("apple", "banana", "orange");
List<Integer> lengthList = list.stream()
.map(String::length)
.collect(Collectors.toList());
System.out.println(lengthList); // [5, 6, 6]
上述代码使用stream()方法将List转换成Stream,然后使用map方法将每个字符串映射成其长度,最后使用collect(Collectors.toList())方法将结果转换成List对象。
3. 排序元素
可以使用sorted方法对List中的元素进行排序,例如:
List<Integer> list = Arrays.asList(5, 3, 1, 4, 2);
List<Integer> sortedList = list.stream()
.sorted()
.collect(Collectors.toList());
System.out.println(sortedList); // [1, 2, 3, 4, 5]
上述代码使用stream()方法将List转换成Stream,然后使用sorted方法对元素进行排序,最后使用collect(Collectors.toList())方法将结果转换成List对象。
4. 聚合元素
可以使用reduce方法对List中的元素进行聚合,例如:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Optional<Integer> sum = list.stream()
.reduce((a, b) -> a + b);
System.out.println(sum.get()); // 15
上述代码使用stream()方法将List转换成Stream,然后使用reduce方法将所有元素累加起来,最后使用get方法获取计算结果。
总之,Stream API提供了丰富的方法和操作,可以极大地简化代码,并且能够提高程序的性能和效率。
阅读全文