List 对象转成map
时间: 2024-06-13 22:07:54 浏览: 20
可以使用Java 8中的流式处理和lambda表达式将List对象转换为Map对象。具体步骤如下:
1.定义一个List对象,例如:
```java
List<Student> studentList = new ArrayList<>();
studentList.add(new Student(1, "Tom"));
studentList.add(new Student(2, "Jerry"));
studentList.add(new Student(3, "Mike"));
```
2.使用流式处理将List对象转换为Map对象,例如:
```java
Map<Integer, String> studentMap = studentList.stream().collect(Collectors.toMap(Student::getId, Student::getName));
```
其中,Student::getId表示获取Student对象的id属性作为Map的key,Student::getName表示获取Student对象的name属性作为Map的value。
3.输出Map对象,例如:
```java
System.out.println(studentMap);
```
输出结果为:
```java
{1=Tom, 2=Jerry, 3=Mike}
```
相关问题
list 对象转listmap
以下是Java中将List对象转换为List<Map>的示例代码:
```java
List<ApiBase> apiBaseList = apiBaseMapper.selectAll();
List<Map<String, Object>> apiMapList = apiBaseList.stream().map(it -> {
Map<String, Object> apiMap = new HashMap<>();
apiMap.put("id", it.getId());
apiMap.put("name", it.getName());
return apiMap;
}).collect(Collectors.toList());
```
以上代码中,我们首先获取了一个List<ApiBase>类型的对象列表,然后使用Java 8的Stream API将其转换为List<Map<String, Object>>类型的对象列表。在map()方法中,我们将每个ApiBase对象转换为一个Map<String, Object>对象,并将其添加到结果列表中。
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`异常。