利用stream对上述代码进行优化
时间: 2024-10-22 07:22:31 浏览: 16
Stream API是Java 8引入的一种强大的功能,用于处理集合数据的一系列操作,如过滤、映射、排序等。如果你有一个列表或数组,并想要对其进行某种转换或者筛选,使用Stream可以将代码变得更简洁、更易于理解。
例如,假设你有这样一个列表:
```java
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
```
如果你想获取所有长度超过5个字符的名字,传统的for-each循环可能会这样做:
```java
List<String> longNames = new ArrayList<>();
for (String name : names) {
if (name.length() > 5) {
longNames.add(name);
}
}
```
但是,通过Stream API,你可以简化为一行代码:
```java
List<String> longNames = names.stream()
.filter(name -> name.length() > 5)
.collect(Collectors.toList());
```
这里首先`stream()`将列表转换为流(Stream),然后`filter()`条件判断,最后`collect()`收集结果到新的列表中。这样不仅代码量减少,而且表达意图清晰,使得并行化操作也变得更加容易。
阅读全文