java map对象转成list
时间: 2023-08-23 20:10:51 浏览: 59
使用Java中的Map可以通过key来获取value,如果key的value是一个List对象的话,可以通过get方法来获取List对象。例如:
Map<String, List<Integer>> map = new HashMap<>();
List<Integer> list = map.get("key");
这样就可以获取到Map中key对应的List对象了。
相关问题
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中的元素作为值。
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`异常。