Java List<Map> 只取 id 转 List<String>

在开发中,我们经常会遇到需要从一个 List<Map> 中取出某个字段的值,并将其转换成另一种类型的情况。如果我们有一个 List<Map>,其中包含一些字段,我们只想取出其中的 id 字段,并且将这些 id 转换成 String 类型,该怎么做呢?下面就来介绍一种方法来实现这个需求。

1. 创建一个 List<Map> 对象

首先,我们需要创建一个 List<Map> 对象,用来模拟我们的数据结构。假设我们有一个 List<Map>,其中包含多个 Map,每个 Map 包含两个字段,分别是 id 和 name。

List<Map<String, Object>> dataList = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("id", 1);
map1.put("name", "Alice");
dataList.add(map1);

Map<String, Object> map2 = new HashMap<>();
map2.put("id", 2);
map2.put("name", "Bob");
dataList.add(map2);

Map<String, Object> map3 = new HashMap<>();
map3.put("id", 3);
map3.put("name", "Charlie");
dataList.add(map3);

2. 只取 id 并转换成 List<String>

接下来,我们需要遍历 List<Map>,取出每个 Map 中的 id 字段,并将其转换成 String 类型,最后将这些 String 类型的 id 放入一个 List<String> 中。

List<String> idList = new ArrayList<>();
for (Map<String, Object> map : dataList) {
    idList.add(String.valueOf(map.get("id")));
}

3. 打印输出结果

最后,我们可以打印输出转换后的 idList,查看结果是否符合我们的预期。

System.out.println(idList);

类图

classDiagram
    List<Map> "1" -- "*" Map : 包含

关系图

erDiagram
    List_Map }|..|{ Map

通过以上代码示例,我们成功实现了从 List<Map> 中只取出 id 字段,并将其转换成 String 类型,存放在一个 List<String> 中的操作。这种方法简洁高效,适用于大多数情况下需要处理类似数据结构的问题。希望本文对您有所帮助,谢谢阅读!