Aktywne Wpisy
![Van-der-Ledre](https://wykop.pl/cdn/c3397992/Van-der-Ledre_DVsiYimVww,q60.jpg)
Van-der-Ledre +63
![Van-der-Ledre - Czas spożyć trunek. Czysta, do odcięcia. Od grudnia raz w tygodniu. N...](https://wykop.pl/cdn/c3201142/9621b6a411b70b21a33c28d71fd6d7e3a671aa4278170d446c787353dd25aaaf,w150.jpg)
źródło: 1000019306
Pobierz![zbrodnia_i_kawa](https://wykop.pl/cdn/c3397992/zbrodnia_i_kawa_RRZk3e71gd,q60.jpg)
#carnivore #damskiprzegryw ale tez troche #wygryw bo alergii ani widu ani slychu i juz troche wierze ze to jednak dziala
![zbrodniaikawa - #carnivore #damskiprzegryw ale tez troche #wygryw bo alergii ani widu...](https://wykop.pl/cdn/c3201142/bffac6bec135427b01d22484d40b296713c94cf0949e83a001e99f3e6719d837,w150.jpg?author=zbrodnia_i_kawa&auth=1848403e49c6aaa9bd439658a05a2df1)
źródło: temp_file624677588370938020
PobierzSkopiuj link
Skopiuj linkźródło: 1000019306
Pobierzźródło: temp_file624677588370938020
PobierzWykop.pl
Mam kolekcję HashSet, w której przechowuję obiekty jednej klasy, zawierającej pole "nazwa". Potrzebuję zrobić tak, żeby dodając do kolekcji kolejny obiekt o nazwie identycznej z obiektem już istniejącym w kolekcji, ten nowy zastępował stary (lub przynajmniej się nie dodawał). Jak to wykonać?
to jakieś zadanie rekrutacyjne? bo przyznam, że problem wygląda bardzo znajomo:)
Się nie dodawał -> nadpisz equals, żeby porównywał tylko nazwa.
Zastępował stary -> użyj Map
set.add(object);
a tak można? Najpierw usuniesz wszystkie obiekty o takim polu, a później dodasz nowy.
Nie wiem, czy rozumiem to zadanie :D
Set set = new TreeSet<>(Comparator.comparing(s -> s.getName()));
1.
Obj a = new Obj("A"):
hashset.add(a);
hashset.add(a);
a nie zadziala gdy:
2.
hashset.add(new Obj("A"));
hashset.add(new Obj("A"));
bo nawet do equals nie dojdzie, przy porównywaniu obiektów. Nieprzeciazony hashCode zwraca adresy pamieci pod ktorymi sa obiekty,
dla roznych obiektow beda one rozne (przypadek 2), wiec obiekty sie dodadza do hashset'u. Dla tego samego obiektu beda takie same(1) wiec dopiero wtedy bedzie prownywac dalej i