Удаление нулевых ссылок из HashSet - PullRequest
13 голосов
/ 19 сентября 2011

Существует ли простой способ удаления пустых ссылок из HashSet, например способ удаления их из списка с помощью list.removeAll(Collections.singletonList(null))?

Ответы [ 2 ]

38 голосов
/ 19 сентября 2011

Поскольку Set не может содержать одно и то же значение дважды (включая null, если оно поддерживается конкретной реализацией Set), достаточно просто выполнить set.remove(null).

Обратите внимание, что вам даже не нужно проверять существование null раньше, потому что remove(null) просто ничего не сделает, если Set не содержит null.

2 голосов
/ 19 сентября 2011

A HashSet, будучи набором, содержит только одну «копию» любого объекта, что также означает, что он может содержать только один экземпляр null.Таким образом, вы можете просто использовать HashSet.remove(null).

...