Коллекция HashSet

127
13 января 2021, 19:20

Внутри HashSet<E> хранится объект HashMap<E, Object>, который и хранит в качестве ключей значения HashSet. Открыл класс HashSet и увидел такое:
private transient HashMap<E,Object> map;
и вот такое

public HashSet() {
        map = new HashMap<>();
    }

Получается когда отрабатывает HashSet() конструктор, у нас создается объект класса HashMap? Можно по подробнее я просто в шоке и не понимаю почему такая связь и что творится :/ Получается наши значения которые мы создаем в данном примере:

HashSet<String> hs = new HashSet<>();
        hs.add("Sts");
        hs.add("Str");
        hs.add("Vbs");

это всё в итоге объект класса HashMap который в качестве ключей хранит значения Sts, Str, Vbs? Что-то странности какие-то

READ ALSO
Где сохранять сырые данные MVP?

Где сохранять сырые данные MVP?

Для реализации MVP использую MoxyСегодня в первый раз использую данную либу, может уже из коробки есть решения возникших вопросов, но я не знаю...

137
Как работает HashSet?

Как работает HashSet?

Всё отработало и показало 1 - Sts, то есть исключило дубликатОбъясните почему везде пишется что нужно переопределить hashCode()иequals() чтобы это заработало...

149
как настроить мониторинг Java приложения в Zabbix?

как настроить мониторинг Java приложения в Zabbix?

Есть примитивное приложение Java:

138
Как передать List из Java в JNI (C++) по сслыке?

Как передать List из Java в JNI (C++) по сслыке?

у меня есть функция написаная на C++(JNI) которая получает как параметр jobject (это по сути мой List) и заполняет его данными

118