Java List转换为Map:使用List字段作为键
在Java开发中,经常需要将List集合转换为Map集合,特别是当需要使用List中某个字段的值作为Map的键时。本文将演示如何高效地将包含键值对的List转换为Map,并以List中特定字段的值作为Map的键。
假设有一个List,其元素是Map,每个Map包含”id”和”name”两个字段,例如:[{“id”: 2, “name”: “san”}, {“id”: 3, “name”: “si”}]。目标是将此List转换为一个Map,其中键是每个Map中”id”字段的值(转换为字符串类型),值是对应的整个Map。最终的Map结构应为:”2″: {“id”: 2, “name”: “san”}, “3″:{“id”: 3, “name”: “si”}。
Java 8的Stream API可以高效地实现此转换。以下代码片段演示了如何操作:
立即学习“Java免费学习笔记(深入)”;
import java.util.*;import java.util.stream.*;public class ListToMap { public static void main(String[] args) { List<Map<String, Object>> list = new ArrayList<>(); Map<String, Object> item1 = new HashMap<>(); item1.put("id", 2); item1.put("name", "san"); list.add(item1); Map<String, Object> item2 = new HashMap<>(); item2.put("id", 3); item2.put("name", "si"); list.add(item2); Map<String, Map<String, Object>> map = list.stream() .collect(Collectors.toMap( item -> String.valueOf(item.get("id")), item -> item )); System.out.println(map); }}
登录后复制
本文来自互联网或AI生成,不代表软件指南立场。本站不负任何法律责任。