一个for循环,小白急求

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位置?