Java 8新特性:Stream API的实际应用案例
在Java 8中,引入了Stream API,它使得处理集合数据变得更加简洁和高效。以下是一些实际应用案例:
- 列表去重:
```java
Listnames = Arrays.asList(“Alice”, “Bob”, “Alice”, “Charlie”);
names = names.stream()
.distinct() // 去重操作
.collect(Collectors.toList()));
System.out.println(names); // 输出:[Alice, Bob, Charlie]
2. **计算列表中所有元素的和**:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
.mapToInt(Integer::intValue)
.sum();
System.out.println(sum); // 输出:15
- 根据分组条件对集合进行分区:
```java
Map> groupedNames = Arrays.asList(
// 示例数据
new AbstractMap.SimpleEntry<>(“Alice”, Arrays.asList(“Java”, “Python”)),
new AbstractMap.SimpleEntry<>(“Bob”, Arrays.asList(“C++”, “Go”))),
new AbstractMap.SimpleEntry<>(“Charlie”, Arrays.asList(“Ruby”, “Swift”)))
));
Map
.collect(Collectors.partitioningBy(key -> key + “_partition”)));
System.out.println(partitionedGroupedNames); // 输出:{Alice_partition={Java, Python}}, Bob_partition={C++, Go}}}
```
以上案例展示了Stream API在处理集合数据时的灵活性和高效性。
还没有评论,来说两句吧...