Giesi35 schrieb:
Ich erhalte durch Tiefensuche verschiedene HashMaps bzw. in dem Fall Kombinationen von Fischsorten, die nunmal so gespeichert werden!
Also repräsentiert ein Objekt der Klasse Fish
gar keinen einzelnen Fisch, sondern eher eine Fischsorte? Dann wäre ein besserer Klassenname wohl FishType
, oder nicht? Sollte dem nicht so sein, bleibt die Struktur eben nicht sinnvoll! 😉
Solltest Du auf die Struktur keinen Einfluss haben, weil ein API das so zurückliefert, könntest Du Dir aber ggf. eine sinnvollere für den weiteren Ablauf ausdenken.
Manchmal kommt man auch um mehrere Mappings nicht herum, etwa:
| // Vom Fischnamen auf zugehöriges Fish-Objekt schließen
Map<String, Fish> fishtypes = new HashMap<String, Fish>();
// Name auf Anzahl mappen
Map<String, Integer> fishcounts = new HashMap<String, Integer>();
|
Damit kommst Du über einen String an das Fischobjekt und die Anzahl (Und mittels Fish.getName
ja wieder an den Namen, solltest Du "nur" die Objekte haben und damit auch wieder an die Anzahl).
Wie gesagt: Die gezeigte Struktur und Problematik spricht eher dafür, dass es sich bei Fish
eher um die Sorte denn um einen speziellen Fisch handelt. Und dann ist der Name eben irreführend, weswegen es erst zu den Nachfragen kam. Zusätzlich könnte man sich dann eben die Liste sparen und nur eine Map einsetzen - denn eine Sorte muss ja über ein eindeutiges Merkmal verfügen.
Sollte dem nicht so sein, ist die gezeigte Struktur unbrauchbar bis hin zu falsch.
Das ist sinnvoll! Ich habe es nur nicht gepostet, da es irrelevant für das Thema war!
Die Relevanz ergibt sich manchmal erst durch die Diskussion 😉 Oftmals behandeln wir XY-Probleme hier, weil der OP auf der falschen Ebene nach einem Problem sucht.
Ich habe das Problem jetzt selber gelöst!
Naja, user unknown hatte die Lösung ja schon gepostet 😉
Man sollte nicht ohne Hintergrundkenntnisse etwas als "unsinnig" deklarieren!
Hat doch auch niemand getan. Es wurde nur hinterfragt, ob die Struktur so sinnvoll ist - eine Beantwortung meiner Frage