我有一个关于在Collection
中找到某个项目的问题,例如Set
。
给出一个课程:
private class User{
Set<String> names = new HashSet<>();
User(Set<String> name){
this.names = name;
}
public Set<String> getNames() {
return names;
}
}
这段代码:
Set<String> firstSetInside = new HashSet<>();
firstSetInside.add("someName1");
firstSetInside.add("someName2");
Set<String> secondSetInside = new HashSet<>();
secondSetInside.add("someName1");
secondSetInside.add("someName2");
User user = new User(firstSetInside);
User user2 = new User(secondSetInside);
Set<User> userSet = new HashSet<>();
userSet.add(user);
userSet.add(user2);
如何正确地将所有名称"someNameX"
添加到一个列表中?
我知道我应该使用lambdas,但它是如何正确的?
答案 0 :(得分:-1)
要获取User
中所有userSet
的所有姓名的具体列表,您可以使用:
List<String> allNames = new ArrayList<>();
userSet.stream().map(User::getNames).forEach(allNames::addAll);