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

时间:2019-04-23 10:33:15

标签: java android for-loop lambda

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

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循环吗?

1 个答案:

答案 0 :(得分:0)

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;
                }
            }
        }