我有一个班级
class Person {
// get/set omitted for simplicity
public String firstName;
public String lastName;
}
我也有这样的对象列表
List<Person> list ...
我需要使用以下流转换
List<Person> list ...
List<String> firstLastNames = list.stream()....
所以我的List firstLastNames将包含此列表中的名字和姓氏。所以。
System.out.println(firstLastNames); // will give me -> "John", "Smith", "Jessica", "Jones".. etc.
答案 0 :(得分:13)
这样的事情
stream.stream().flatMap(p -> Stream.of(p.firstName, p.lastName)).collect(Collectors.toList());
答案 1 :(得分:-3)
如果你想要一个真正的属性对象(java.util.Properties),你可以做类似下面的事情。请注意,由于您使用的属性,您无法通过这种方式获得重复记录。
public static void main(String args[])
{
// make some people
Person john = new Person("John", "Smith");
Person mary = new Person("Mary", "Richards");
List<Person> people = new ArrayList<Person>();
people.add(john);
people.add(mary);
Properties peopleProps = new Properties();
for (Person person : people)
{
peopleProps.setProperty(person.getfName(), person.getlName());
}
System.out.println(peopleProps);
}