java list对象转map
时间: 2024-05-15 10:10:33 浏览: 8
在 Java 中,将 List 转换为 Map 的常用方法是使用 Java 8 中的 Stream API 和 Collectors 类的 toMap() 方法。可以按照以下方式实现:
```java
List<MyObject> myList = new ArrayList<>();
Map<Integer, MyObject> myMap = myList.stream().collect(Collectors.toMap(MyObject::getId, Function.identity()));
```
其中,MyObject 是 List 中元素的类型,getId() 是 MyObject 类中获取对象 ID 的方法。toMap() 方法的第一个参数是 Map 的键,第二个参数是 Map 的值,Function.identity() 表示直接使用 List 中的元素作为 Map 的值。
相关问题
javalist对象转list map
Java中可以使用Stream API将List对象转换为Map对象。具体实现可以参考以下代码:
1. 将id拼接name作为key,age作为value,转Map
```java
public void testListToMap1() {
// 创建一个List
List<User> list = new ArrayList<>();
list.add(new User(1,"Tom",10));
list.add(new User(2,"Tim",10));
list.add(new User(3,"Jim",10));
// 将List转换为Map
Map<String, Integer> map = list.stream()
.collect(Collectors.toMap(key -> key.getId()+"_"+key.getName(), value -> value.getAge(), (v1, v2) -> v1));
System.out.println(JSON.toJSON(map));
}
```
2. 将id作为key,每个元素作为value,转Map
```java
public void testListToMap2() {
// 创建一个List
List<User> list = new ArrayList<>();
list.add(new User(1,"Tom",10));
list.add(new User(2,"Tim",10));
list.add(new User(3,"Jim",10));
// 将List转换为Map
Map<Integer, User> map = list.stream()
.collect(Collectors.toMap(User::getId, value -> value, (v1, v2) -> v1));
System.out.println(JSON.toJSON(map));
}
```
注意:在使用Stream API将List转换为Map时,需要注意key的唯一性,否则会抛出`java.lang.IllegalStateException`异常。
java list 对象 如何转 list map
Java中的List对象可以通过遍历每个元素,将其转换为Map对象。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ListToMapExample {
public static void main(String[] args) {
// 创建一个List对象
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
// 创建一个空的Map对象
Map<Integer, String> map = new HashMap<>();
// 遍历List对象,将每个元素转换为Map的键值对
for (int i = 0; i < list.size(); i++) {
map.put(i, list.get(i));
}
// 打印转换后的Map对象
System.out.println(map);
}
}
```
运行以上代码,输出结果为:
```
{0=apple, 1=banana, 2=orange}
```
以上代码将List中的每个元素按照索引顺序转换为Map的键值对,其中索引作为键,List中的元素作为值。