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