首页 > 解决方案 > 如何从地图中的集合中删除元素

问题描述

我正在尝试从地图中的集合中删除一个元素,但我不确定该怎么做。

我到目前为止的代码是:

public void deleteToValue(String aLocation, String aEquipment)
{      
locationMap.remove(aLocation, aEquipment);
}

地图键是位置,集合称为设备。

假设地点是伦敦,我想从布景中取出一辆自行车。

密钥和集合将始终存在,因此此时无需检查空值。

标签: javasetmaps

解决方案


如果我理解正确,您有一张地图 ->Map<String, Set<String>>并且您想移除某个位置的设备。

请考虑以下代码:

public void deleteToValue(String aLocation, String aEquipment)
{      
    Set<String> equip = locationMap.get(aLocation);
    if (equip != null) {
       equip.remove(aEquipment);
    }   
}

调用 map.get(..key..)方法时,它返回与提供的键关联的值,在您的情况下,您的值是Set<>. 因此,要从集合中删除某些内容,首先您需要通过键从地图中读取它 ->Set<String> equip = locationMap.get(aLocation);然后从Set->中删除所需的项目equip.remove(aEquipment);


推荐阅读