list转换为map集合
时间: 2023-02-20 12:21:21 浏览: 47
可以使用Java 8的Stream API,使用map方法将list转换为map集合:list.stream().collect(Collectors.toMap(Function.identity(), Function.identity()));
相关问题
list集合转换成map集合
可以使用Java 8的Stream API来将List集合转换成Map集合。
假设我们有一个List集合,其中的元素是Person对象,每个Person对象都有一个唯一的id属性和一个name属性,我们想要将这个List集合转换成Map集合,以Person对象的id属性作为键,Person对象本身作为值,可以这样写:
```
List<Person> personList = ... // 假设这是一个Person对象的List集合
Map<Integer, Person> personMap = personList.stream()
.collect(Collectors.toMap(Person::getId, Function.identity()));
```
其中,`Person::getId`表示使用Person对象的id属性作为Map键,`Function.identity()`表示使用Person对象本身作为Map值,最终得到的personMap就是一个以Person对象的id属性作为键,Person对象本身作为值的Map集合。
List集合数据转换为map
可以使用Java 8的Stream API来将List集合转换为Map。假设List的元素类型为T,需要根据某个属性将其转换为Map,可以按照以下方式实现:
```java
Map<K, T> map = list.stream()
.collect(Collectors.toMap(T::getKey, Function.identity()));
```
其中,K为Map的键的类型,T::getKey表示根据T对象的getKey方法获取键值,Function.identity()表示将T对象本身作为值。如果需要自定义值转换方式,可以将Function.identity()替换为一个自定义的Function函数。