Map ist etwas sehr allgemeines. Map<Key,Value>.
Key ist irgendein Schlüssel.
Value ist irgendein Wert.
Ob dieser Wert einzelne booleans, lange Tabellen mit Zahlen, Funktionentupel, Strategien zum Lösen von NP Problemen oder 5-dimensionale Blöcke von Bäumen von Maps mit der Auflistung aller Elefantenherden der letzten 10000 Jahre beinhaltet ist völlig egal.
Map<String, Object> foo...
class Foo1 {
}
class Foo2 {
}
foo.put("a", new Foo1());
foo.put("b", new Foo2());
bei get Casten notwendig!
besser:
Map<String, Foobar> foo...
interface Foobar {
}
class Foo1 implements Foobar {
}
class Foo2 implements Foobar {
}
Caten nur notwendig wenn du etwas verwendest dass nicht in Foobar ist
Irgendwie versteh ich nicht so ganz was du meinst...
Möchtest du verschieden Typen von Objekten in deiner Map ablegen können? Der Key, in diesem Fall ein String, ist eh immer gleich! Und der Wert muss halt dem Typen aus der Deklaration entsprechen!
Falls die Objekte verschieden sein sollen hilft nur Vererbung:
Code:
public class A extends Datensatz{...}
public class B extends Datensatz{...}
so kannst du sowohl Objekte der Klasse A als auch der Klasse B in deiner Map ablegen...
ich möchte eine ArrayListe erstellen in denen ich für meine Projektarbeit Rezepte speichern kann.
in der Map ist der Name (also String) der Key. Allerding haben Rezepte ja unterschiedlich viele Zutaten.
Und ich möchte wissen ob es möglich ist, eine Map zu erstellen die für meine Objekte (also meine Rezepte) unterschiedlich viele Werte (hier: Zutaten) mitspeichern kann ?
mit einer Array Liste bin ich aber wieder auf eine Festgelegt Anzahl gebunden, die ich davor festlegen muss. Ich weiß aber vorneweg noch nicht wie viele Zutaten ein Rezept beispielsweise haben kann.
ich möchte eine ArrayListe erstellen in denen ich für meine Projektarbeit Rezepte speichern kann.
in der Map ist der Name (also String) der Key. Allerding haben Rezepte ja unterschiedlich viele Zutaten.
Und ich möchte wissen ob es möglich ist, eine Map zu erstellen die für meine Objekte (also meine Rezepte) unterschiedlich viele Werte (hier: Zutaten) mitspeichern kann ?
Das ist Quatsch. Die Map Speichert einen Value. Was der Value speichert, ist, wie oben schon gesagt, vollkommen egal. Wenn's 38176381 Elefantenherden sein Können, können es auch 10 Zutaten für Sondereinsatzcapuccino sein.
MichaelKl hat gesagt.:
mit einer Array Liste bin ich aber wieder auf eine Festgelegt Anzahl gebunden, die ich davor festlegen muss. Ich weiß aber vorneweg noch nicht wie viele Zutaten ein Rezept beispielsweise haben kann.
Gerade dazu ist eine ArrayList doch da, dass sie selbst auf ihre Länge aufpasst. Aber das hier hat nichts mit der Sache zu tun. In die Rezeptklasse würde ich für die Zutaten eh eine LinkedList vorschlagen, da imho der random access bei dieser anwendung nicht unbedingt erforderlich ist.
mach dir eine Klasse Rezept die z.B. die Zutaten in einer ArrayList hält oder eine Liste von Zutaten hat. Dann schmeißt du die Rezept Objekte als Value und die Map. It's as simple as that
mach dir eine Klasse Rezept die z.B. die Zutaten in einer ArrayList hält oder eine Liste von Zutaten hat. Dann schmeißt du die Rezept Objekte als Value und die Map. It's as simple as that