java stream 表示对象自己 o->o如何实现
时间: 2024-09-11 21:02:54 浏览: 56
在Java Stream API中,如果想要表示对象之间的“自身到自身”操作(即对象自身的转换),通常涉及到对集合或数组中的元素进行一些基本的操作,比如映射(map)、过滤(filter)、flatMap等。这里有一个简单的例子:
```java
List<Person> people = ... // 假设Person是一个包含属性的对象
// 映射每个Person到一个新的Person,例如改变姓名
List<Person> newPeople = people.stream()
.map(person -> new Person(person.getName() + " (mapped)"))
.collect(Collectors.toList());
// 过滤出年龄大于30的人
List<Person> adults = people.stream()
.filter(person -> person.getAge() > 30)
.collect(Collectors.toList());
// 将List<Person>扁平化为Map<String, List<Person>>
Map<String, List<Person>> groupedByCity = people.stream()
.collect(Collectors.groupingBy(Person::getCity));
```
在这个例子中,`stream()`方法用于创建一个流,`map()`、`filter()`和`groupingBy()`是用来实现对象自身到自身转换的不同操作。它们分别实现了数据的变换、筛选和分组。
阅读全文