怎么将集合转换为map
时间: 2023-09-08 10:11:39 浏览: 103
可以使用Java 8中的stream()和collect()方法将集合转换为map。例如,假设有一个List<String>集合,我们可以将其转换为Map<String, Integer>,其中字符串是键,而整数是值,可以使用以下代码:
```
List<String> list = Arrays.asList("apple", "banana", "orange");
Map<String, Integer> map = list.stream().collect(Collectors.toMap(Function.identity(), String::length));
```
上面的代码使用了Lambda表达式,其中Function.identity()返回列表中的每个元素作为键,而String::length返回每个元素的长度作为值。这将返回一个Map对象,其中键为字符串,值为整数。
相关问题
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集合。
如何将mybatis-plus条件查询下的list集合转换为map集合
可以使用Java 8的Stream API将list集合转换为map集合,具体代码如下:
Map<Long, YourEntity> map = yourList.stream().collect(Collectors.toMap(YourEntity::getId, Function.identity()));
其中,YourEntity是你的实体类,getId是你的实体类中的主键字段。这段代码将list集合转换为map集合,以主键字段为key,实体对象为value。
阅读全文