stream列表写法
时间: 2024-09-28 12:08:04 浏览: 35
Stream是Java 8引入的一种强大的数据处理机制,它允许你在集合上执行一系列并行或非并行的操作,比如过滤、映射、排序、聚合等。当提到"stream列表写法",通常指的就是利用`List`对象的流式API(`.stream()`)来处理列表元素。以下是几个常见的stream写法例子:
1. **过滤**(filter):筛选出满足特定条件的元素,如:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
```
这会创建一个新的列表,只包含原列表中的偶数。
2. **映射**(map):将每个元素转换成新的形式,如:
```java
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
List<String> capitalizedNames = names.stream()
.map(String::toUpperCase)
.collect(Collectors.toList());
```
这会返回一个新的列表,所有名字都大写。
3. **查找并返回单个元素**(findFirst/last):
```java
String first = numbers.stream()
.findFirst()
.orElse(null);
```
找到第一个元素,如果没有就返回默认值。
4. **聚合**(reduce,sum,count等):对所有元素进行某种运算,如求和、计数:
```java
int sum = numbers.stream()
.mapToInt(Integer::intValue)
.sum();
```
计算列表中所有整数的和。
阅读全文