我有一个 Person 类,它有一组对象联系人。我想从人员流中获取联系人流。
public class Persons{
private Set<Contact> contacts;
}
persons.stream().map(Person::getContacts);
给我Stream<Set<Contact>>
而是Stream<Contact>
任何建议或帮助将不胜感激,因为我对 Java 8 和 Streams 还很陌生。
最佳答案
你可以试试这个:
Stream<Contact> contacts = persons.stream().flatMap(p -> p.getContacts().stream());
或者:
Stream<Contact> contacts = persons.stream().map(Person::getContacts).flatMap(Set::stream);
查看this优秀的帖子,以便您了解map
和flatMap
之间的区别。
关于java - Stream<Set<Object>> 而不是 Stream<Object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41857541/