java8list转map
时间: 2023-10-12 17:17:25 浏览: 44
可以使用Java 8的Stream API将List转换为Map。可以使用 `Collectors.toMap` 方法将List中的元素转换为Map的键值对。
举个例子,假设我们有一个List,其中的元素是Person对象,Person对象有两个属性:id和name。我们想将List转换为Map,其中id作为键,name作为值。
代码示例:
```java
List<Person> personList = Arrays.asList(
new Person(1, "John"),
new Person(2, "Mary"),
new Person(3, "Bob"));
Map<Integer, String> personMap = personList.stream()
.collect(Collectors.toMap(Person::getId, Person::getName));
System.out.println(personMap);
```
输出结果:
```
{1=John, 2=Mary, 3=Bob}
```
其中,Person类的定义如下:
```java
class Person {
private int id;
private String name;
public Person(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
@Override
public String toString() {
return "Person{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
```