java - 如何从地图中的集合中删除元素
问题描述
我正在尝试从地图中的集合中删除一个元素,但我不确定该怎么做。
我到目前为止的代码是:
public void deleteToValue(String aLocation, String aEquipment)
{
locationMap.remove(aLocation, aEquipment);
}
地图键是位置,集合称为设备。
假设地点是伦敦,我想从布景中取出一辆自行车。
密钥和集合将始终存在,因此此时无需检查空值。
解决方案
如果我理解正确,您有一张地图 ->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);
推荐阅读
- javascript - 尝试将 div 捕获为图像时旋转导致问题
- python - 如何通过另一个python文件运行一个python文件然后关闭第一个
- python - 字典值到数组,按键排序
- nginx - 在 Nginx 上通过 https 配置 tusd 的问题
- r - 根据列条件插入和填充两列
- spring - 在端点无效的情况下,Spring boot rest api 不会失败
- spring-security - 如何在 Spring WebFlux Security 中实现多种身份验证方法?
- jwt - 在数据库中存储刷新令牌是否安全?(为登录目的发布新的访问令牌)。或者有没有更简单的方法?
- python - 如何修复用法:setup.py [global_opts] cmd1 [cmd1_opts] 问题?
- spring - Spring OAuth2 谷歌登录+用户名和密码登录