对象数组list,转成map。key为一个属性,value为对象本身
时间: 2024-02-11 11:05:46 浏览: 110
好的,可以使用Java 8中的stream和Collectors来实现这个需求。代码如下:
假设对象的类名为ObjectClass,属性名为propertyName:
```
List<ObjectClass> list = ... // 初始化对象数组list
Map<Object, ObjectClass> map = list.stream()
.collect(Collectors.toMap(ObjectClass::getPropertyName, Function.identity()));
```
其中,`ObjectClass::getPropertyName`表示获取对象属性值作为map的key,`Function.identity()`表示对象本身作为map的value。
相关问题
javaj对象数组list,转成map。key为一个属性,value为对象本身
可以使用 Java 8 的 Stream API 将对象数组转换成 Map,示例代码如下:
假设对象数组的类型为 `MyObject`,对象属性为 `id`,那么代码如下:
```java
List<MyObject> list = new ArrayList<>();
// 添加对象到列表中
Map<Integer, MyObject> map = list.stream()
.collect(Collectors.toMap(MyObject::getId, Function.identity()));
```
上述代码中的 `MyObject::getId` 表示获取对象的 `id` 属性作为 Map 的键,`Function.identity()` 表示获取对象本身作为 Map 的值。
java将list对象数组转化为map,其中对象的一个属性作为key,本身作为value
可以使用Java 8的流式编程和Collectors工具类来实现。假设有一个名为list的List对象数组,每个对象都有一个名为key的属性和一个名为value的属性,可以按照如下方式将key作为Map的键,value作为Map的值:
```
Map<Object, Object> map = list.stream().collect(Collectors.toMap(obj -> obj.getKey(), obj -> obj));
```
这样就可以将List对象数组中的key作为Map的键,对象本身作为Map的值,存储在map对象中。
阅读全文