2024-11-02 07:06:18
受楼上两位老哥启发,代码如下
public class Test2 {
public static void main(String[] args) {
Map<String, String> map1 = new MyMap<>();
map1.put("name", "张三");
map1.put("公司", "
我怕代码挤在一起,截图给你:
运行结果:
2024-11-02 21:02:46
2024-11-02 03:49:25
2024-11-02 05:12:56
List<Map<String,Object>> mapList = new ArrayList<>();
Map<Object,Map<String,Object>> resultMap = new HashMap();
for (Map<String, Object> map : mapList) {
Object name = map.get("name");
if (resultMap.get(name)==null) {
resultMap.put(name,map);
}
resultMap.get(name).putAll(map);
}
resultMap 是个map里面套map的,之所以不用list套map是为了循环里面get操作复杂度为O(1)。你最后想要list格式的话,
List ls = new ArrayList(resultMap.values() 或者 entrySet()); 调用一下这个就好了呗。这没什么影响。
写代码思维很重要,你要看的懂,别人要看得懂,要简洁,要性能。或许还有别的方法实现,可以钻研一下。