如何识别2个HashMap是否包含具有相同ID的对象

如何识别2个HashMap是否包含具有相同ID的对象

目前,我正在制作纸牌游戏,其中玩家的库存中有一张纸牌清单。
我现在的目标是用这些卡片创建一个卡片组,其中在卡片组内的卡片不会在库存侧显示,为此,我尝试了以下代码:

for (HashMap<String, String> cartaInventario : listaCartasInventario) {
                for (HashMap<String, String> cartaDeckInventario : listaCartasDeckInventario) {
                    if(cartaInventario.get(Config.TAG_ID_CARTA_INVENTARIO) != cartaDeckInventario.get(Config.TAG_ID_CARTA_DECKINVENTARIO))
                    {
                        cartasInventario.add(cartaInventario.get(Config.TAG_ID_CARTA_INVENTARIO));
                    }
                }
            }



这段代码仍然无法正常工作,我的问题是,执行此验证的最有效方法是什么?我应该使用lambda表达式代替for循环吗?

最佳答案

for (HashMap<String, String> cartaInventario : listaCartasInventario) {
            cartasInventario.add(cartaInventario.get(Config.TAG_ID_CARTA_INVENTARIO));
            for (HashMap<String, String> cartaDeckInventario : listaCartasDeckInventario) {
                if(cartaInventario.get(Config.TAG_ID_CARTA_INVENTARIO).equals(cartaDeckInventario.get(Config.TAG_ID_CARTA_DECKINVENTARIO)))
                {
                    cartasInventario.remove(cartaInventario.get(Config.TAG_ID_CARTA_INVENTARIO));
                    break;
                }
            }
        }

关于java - 如何识别2个HashMap是否包含具有相同ID的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55809287/

10-10 03:25