Wpis z mikrobloga

#java #programowanie #naukaprogramowania
Potrzebna mi jest kolekcja obiektów, dzielących wspólną nadklasę, w której to istnieje pole String nazwa.
Jakiej kolekcji użyć i w jaki sposób skonstruować metodę, która dla podanej w argumencie nazwy będzie zwracać odpowiedni obiekt? (nazwy nie powtarzają się, są indywidualne dla każdego obiektu kolekcji) Myślałem, że zadziała przebieganie pętlą for po wszystkich elementach kolekcji, ale domniemam, że można to zrobić jakoś prościej, z wykorzystaniem kluczy czy czegoś takiego...
  • 2
@Pierwiastek_z_Czech: HashMapą będzie najprościej. Jak potrzebujesz mieć posortowane klucze, to warto zajrzeć do dokumentacji i poczytać o TreeMap.

argumencie nazwy będzie zwracać odpowiedni obiekt

Nie zwróci obiektu! Zwróci referencję do obiektu! W Javie zawsze zwraca się referencje chyba, że zwracasz typy prymitywne albo wymusisz głęboką kopię.

Jeśli chcesz metodę, która zwróci referencję do obiektu biorąc nazwę klucza, to zapewne coś takiego:

public static T getByKey(Map map, String key) throws NullPointerException