List<Map<String, Object>> newMaps = new ArrayList<>(); List<Map<String, Object>> maps = new ArrayList<>(); for(int i=0 ;i<newMaps.size();i++){ for (int j=0; j<maps.size(); j++){ if(maps.get(j).get("name")==newMaps.get(i).get("name")){ newMaps.get(i).put("name",maps.get(j)); } } }
大佬们 这段循环有什么问题吗
最好把两个Map的值放出来
这在做啥,这个if永远为false啊
newmaps 是根据map的一个value值去重的结果,然后我要在根据那个重复的value值,把maps的放入到newmaps中
代码能运行,但是newMaps和maps都是空的;这段代码想完成啥功能?
for循环都进不去
maps是我根据数据库查询出来的,newmaps是根据下面这段代码,去重的一个结果
for(Map<String, Object> collisionMap : maps){ String keys = (String) collisionMap.get("name"); int beforeSize = keysSet.size(); keysSet.add(keys); int afterSize = keysSet.size(); if(afterSize == beforeSize + 1){ newMaps.add(collisionMap); } }
你还是把需求贴出来让别人给你实现吧
这位同学提问,请规范一下好嘛? 1、你要实现什么功能。2、你原来的想法是怎么样的? 3、遇到了什么问题呢? 4、需要哪些帮助呢?
有这样直接拿Object双等于去比较的吗!建议采用Java 流 Stream来处理集合。
小天才一个鉴定完毕!
把==改成equals,但是不建议这种写法,你是打算用name值匹配然后将匹配成功的整个Map替换掉原来的name位置?