Как удалить элемент из набора, который находится на карте - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь удалить элемент из набора, который находится на карте, но я не уверен, как это сделать.

Код, который у меня пока есть:

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

Ключ карты - это местоположение, а набор называется оборудованием.

Предположим, что местоположение - Лондон, и я хочу удалить велосипед из набора.

Ключ и набор будут всегда присутствовать, поэтому нет необходимости проверять наличие нулей на этом этапе.

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Если я вас правильно понял, у вас есть карта -> 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);

0 голосов
/ 13 апреля 2020

Для этого требуется 2 шага:

Set<String> equipment = locationMap.get(aLocation) => returns the set
equipment.remove(aEquipment) ==> removes equipment from set.
...