ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Java对List<Map>进行合并去重

2026/9/13 23:27:13 拓冰建站 浏览量
Java对List<Map>进行合并去重
对List进行合并去重,首先创建一个新的 List 用于存储合并去重后的结果,遍历原始的 List,将每个 Map 对象中的键值对放入一个 Set 中进行去重,最后将去重后的键值对重新组装成一个新的 Map 对象,并添加到新的 List 中。

完整实例代码如下:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.HashSet;public class Main {public static void main(String[] args) {// 创建原始的 List<Map>List<Map<String, Integer>> list = new ArrayList<>();Map<String, Integer> map1 = new HashMap<>();map1.put("a", 1);map1.put("b", 2);Map<String, Integer> map2 = new HashMap<>();map2.put("a", 1);map2.put("c", 3);list.add(map1);list.add(map2);// 创建用于存储合并去重后的结果的新 List<Map>List<Map<String, Integer>> mergedDeduplicatedList = new ArrayList<>();// 创建用于去重的 Set<Map>Set<Map<String, Integer>> set = new HashSet<>();// 遍历原始的 List<Map>for (Map<String, Integer> map : list) {// 创建一个新的 Map 用于存储合并去重后的结果Map<String, Integer> newMap = new HashMap<>(map);// 如果新的 Map 成功添加到 Set 中,说明是一个新的 Map,将其添加到结果 List<Map> 中if (set.add(newMap)) {mergedDeduplicatedList.add(newMap);}}// 输出结果System.out.println("Original List: " + list);System.out.println("Merged and Deduplicated List: " + mergedDeduplicatedList);}
}

简单示例仅供参考