java8 stream怎么使用
时间: 2024-05-01 17:23:22 浏览: 90
Java 8 中的 Stream 是一种新的抽象概念,它允许以一种更为声明式的方式处理数据。Stream API 可以让你以一种非常简洁、可读性强的方式来处理集合数据。下面是一些使用 Stream API 的示例:
1. 过滤和映射操作
```java
List<String> names = Arrays.asList("John", "Jane", "Adam", "Tom");
List<String> filteredNames = names.stream()
.filter(name -> name.startsWith("J"))
.map(String::toUpperCase)
.collect(Collectors.toList());
```
2. 聚合操作
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream().mapToInt(Integer::intValue).sum();
OptionalInt max = numbers.stream().mapToInt(Integer::intValue).max();
```
3. 分组和分区操作
```java
List<Person> persons = Arrays.asList(
new Person("John", 30),
new Person("Jane", 25),
new Person("Adam", 40),
new Person("Tom", 35)
);
Map<Integer, List<Person>> personsByAge = persons.stream()
.collect(Collectors.groupingBy(Person::getAge));
Map<Boolean, List<Person>> personsByAgePartition = persons.stream()
.collect(Collectors.partitioningBy(person -> person.getAge() > 30));
```
以上仅是 Stream API 的一些用法示例,你可以根据具体的应用场景使用更多的 Stream 操作方法。
阅读全文