Внутри 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
? Что-то странности какие-то
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Для реализации MVP использую MoxyСегодня в первый раз использую данную либу, может уже из коробки есть решения возникших вопросов, но я не знаю...
Всё отработало и показало 1 - Sts, то есть исключило дубликатОбъясните почему везде пишется что нужно переопределить hashCode()иequals() чтобы это заработало...
у меня есть функция написаная на C++(JNI) которая получает как параметр jobject (это по сути мой List) и заполняет его данными