java使用stream流将name属性和age属性组合成一个新的map集合
时间: 2024-03-02 08:48:14 浏览: 146
可以使用Java 8中的Stream流和Lambda表达式来实现将name属性和age属性组合成一个新的Map集合的操作,具体代码如下:
```
List<Person> personList = new ArrayList<>();
personList.add(new Person("Tom", 20));
personList.add(new Person("Jerry", 25));
personList.add(new Person("Mike", 30));
Map<String, Integer> nameAgeMap = personList.stream()
.collect(Collectors.toMap(Person::getName, Person::getAge));
System.out.println(nameAgeMap);
```
其中,Person是一个自定义的类,包含了name和age属性以及对应的get方法,代码如下:
```
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
运行结果为:
```
{Tom=20, Mike=30, Jerry=25}
```
可以看到,通过Stream流和Lambda表达式,我们成功将name属性和age属性组合成了一个新的Map集合。
阅读全文