Wpis z mikrobloga

@nie_tuzinkowy: wtedy masz problem z np. HashSet-em, jeśli chcesz przechowywać elementy różnych typów. Wszystkie implementacje wykorzystują metodę Equals do sprawdzania kolizji. Pewnie dało by się to obejść, ale trochę za dużo zabawy moim zdaniem.
  • Odpowiedz
HashSet-em, jeśli chcesz przechowywać elementy różnych typów. Wszystkie implementacje wykorzystują metodę Equals do sprawdzania kolizji


@boo007: hashset jak nazwa wskazuje używa hashCode jako "wartosci" obiektu. gdyby hashSet uzywal equals do porownania obiektow to big O operacji add byloby O(n), bo musialbys za kazdym razem porownac nowy obiekt do istniejacych w hashsecie, hashSet add ma O(1), contains też ma O(1) a przy equals byloby best scanario O(1) worst scenario O(n).
  • Odpowiedz