java guava list转map,使用Guava把List转Map
时间: 2023-10-12 19:20:17 浏览: 122
可以使用Guava的`Maps.uniqueIndex()`方法将List转换成Map,具体实现如下:
```java
import com.google.common.collect.Maps;
import com.google.common.collect.Lists;
import java.util.List;
import java.util.Map;
public class ListToMapExample {
public static void main(String[] args) {
List<Person> personList = Lists.newArrayList(
new Person(1, "Alice"),
new Person(2, "Bob"),
new Person(3, "Charlie")
);
Map<Integer, Person> personMap = Maps.uniqueIndex(personList, Person::getId);
System.out.println(personMap);
}
}
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 + '\'' +
'}';
}
}
```
在上面的代码中,我们首先定义了一个Person类,其中包含了id和name两个属性。然后创建了一个Person列表,包含了三个Person对象。接下来,我们使用`Maps.uniqueIndex()`方法将Person列表转换成PersonMap,其中Person的id属性作为Map的key,Person对象作为Map的value。最后,我们打印出PersonMap来验证转换是否成功。
阅读全文