HashMap - ArrayList

O2016

Bekanntes Mitglied
Hallo,

Ich habe eine ArrayList und in dieser ArrayList ist eine TreeMap. Wie kann ich auf die Elemente der TreeMap mit dem key "main" zugreifen?
 

O2016

Bekanntes Mitglied
Also eine Map(HashMap) hat 10 Elemente Bsp. In diesen 10 Elementen gibt es jeweils einen key,und einen value. (hier benötige ich key "main")
In dem Value befindet sich wiederum eine ArrayList und in dieser wiederum eine LinkedList, da benötige ich den key "description"
 

Robat

Top Contributor
Erst war es eine Liste von TreeMaps, jetzt ist es eine HashMap welche als Value eine Liste von Listen beinhaltet. Was denn nun? o_O
 

mihe7

Top Contributor
Vermutlich alles zusammen - er schreibt ja auch ständig von irgendwelchen Keys in irgendwelchen Listen. Hm... o_O
 

O2016

Bekanntes Mitglied
Okay nochmal: Hab es nun etwas vereinfacht.
Ich habe eine Arraylist "a" auf dem [0] Eintrag dieser ArrayList (mehr gibt es dort noch nicht) befindet sich eine LinkedTreeMap und diese LinkedTreeMap hat 4 Eintrage und im zweiten Eintrag [2] befindet sich der key "XXX". Diesen möchte ich auslesen um den Value zu erhalten.
 

Robat

Top Contributor
Jede Map hat eine get(..) Methode, welcher du einen "Key" übergeben kannst und diese gibt dir den passenden Value dazu.
Wo genau ist das Problem?
 

O2016

Bekanntes Mitglied
Entschuldigt die Frage: Eine Verständnisfrage noch:

Ich habe eine HashMap<K,V> und möchte auf den value mit dem key "XXX" zugreifen, welches als value eine ArrayList<E> beinhaltet.

Wenn ich jetzt erst einmal "value" speichern will in ein Element, von welchem Typ muss dann mein Objekt sein?
 

O2016

Bekanntes Mitglied
Das heißt ich kann ArrayList<V> Name = new ArrayList<>();

machen dann

Name= map.get(„key“) machen?
Und dann zeigt name auf die Arraylist?

Bin nicht mehr am PC. Aber würde es gerne noch wissen
 

temi

Top Contributor
Du kannst auch ArrayList<V> name = map.get(„key“); machen. Es ist unnötig eine Liste zu erzeugen, die du anschließend gleich wieder wegwirfst.
 

O2016

Bekanntes Mitglied
So habe es nun geschafft, aber leider nur mit casts. Wie kann ich die Casts noch weglassen:
Java:
           ArrayList<V> liste = (ArrayList<V>) respMap.get("weather");
           LinkedTreeMap<K,V> link = (LinkedTreeMap<K,V>) liste.get(0);
           V wert= link.get("description");
 

temi

Top Contributor
Dir ist schon klar, dass du anstatt K und V die tatsächlich gewünschten Typen angeben musst?

Eine Liste die Strings aufnimmt z.B.:
ArrayList<String> stringList;

Edit:

Es wurde weiter oben bereits einmal geschrieben, aber zeig doch mal, wie deine Map "respMap" deklariert ist.
 
Zuletzt bearbeitet:

O2016

Bekanntes Mitglied
Prinzipiell weiß ich dass ich anstatt K,V String oder so schreiben muss, aber ich kann doch die komplette Klasse auch als generics machen und dann kann ich mein K,V doch so stehen lassen oder?
 

mihe7

Top Contributor
Klar, die Frage ist aber, wo die beiden Typen Verwendung finden.

Nehmen wir mal folgendes an: ich habe verschiedene Sensorgruppen, die sich z. B. per String identifizieren lassen. In jeder dieser Gruppe gibt es eine Liste von Sensoren, die mir zu einem Schlüssel vom Typ K einen Wert vom Typ V liefern.

Dann habe ich Map<String, List<Map<K,V>>>.
 

temi

Top Contributor
Prinzipiell weiß ich dass ich anstatt K,V String oder so schreiben muss, aber ich kann doch die komplette Klasse auch als generics machen und dann kann ich mein K,V doch so stehen lassen oder?
Du kannst natürlich eine generische Klasse schreiben. Die Frage ist, ob das in deinem Fall sinnvoll ist. Hast du denn tatsächlich wechselnde Datentypen, sprich verwendest du deine Klasse mehrfach mit unterschiedlichen Schlüsseln/Typen?
 
Zuletzt bearbeitet:

temi

Top Contributor
Klar, die Frage ist aber, wo die beiden Typen Verwendung finden.

Nehmen wir mal folgendes an: ich habe verschiedene Sensorgruppen, die sich z. B. per String identifizieren lassen. In jeder dieser Gruppe gibt es eine Liste von Sensoren, die mir zu einem Schlüssel vom Typ K einen Wert vom Typ V liefern.

Dann habe ich Map<String, List<Map<K,V>>>.
Bezogen auf deinen Code von oben, hat die enthaltene Liste ja auch einen Schlüssel vom Typ String, dann wäre es:
Map<String, List<Map<String,V>>>
 

mihe7

Top Contributor
Das kann doch gar nicht compilieren oder etwa doch?
Man möchte es kaum glauben, aber ...

Der klare Fall: respMap.get("weather") liefert seiner Deklaration von respMap nach ein Object, kann daher auf alles gecastet werden.

Ob der zweite Cast funktioniert, hängt von der Deklaration der Typvariablen V ab. Wurde keine "obere Grenze" angegeben, gilt implizit "V extends Object". Somit liefert liste.get(0) eine Instanz eines von Object abgeleiteten Typs. Daher ist der downcast auf LinkedTreeMap zur zulässig.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Sortiert eine HashMap nicht gleich wie eine ArrayList? Java Basics - Anfänger-Themen 1
O Hashmap, ArrayList, LinkedList Java Basics - Anfänger-Themen 7
B Durchlaufen von Hashmap und Arraylist Java Basics - Anfänger-Themen 8
K HashMap mit Daten aus ArrayList befüllen Java Basics - Anfänger-Themen 14
F Wortpaare - HashMap - ArrayList Java Basics - Anfänger-Themen 6
F Collections ArrayList oder Hashmap mittel Collections.sychronised Java Basics - Anfänger-Themen 6
S Array[HashMap][ArrayList][ArrayList] Java Basics - Anfänger-Themen 21
O Werte aus HashMap in einer ArrayList Java Basics - Anfänger-Themen 3
C Arraylist mit string array oder hashmap oder objekt? Java Basics - Anfänger-Themen 5
D arraylist aus einer hashmap auslesen Java Basics - Anfänger-Themen 5
M ArrayList, HashMap oder was sonst? Java Basics - Anfänger-Themen 16
T ArrayList in HashMap? Java Basics - Anfänger-Themen 22
S ArrayList, Hashmap oder Klasse zu speichern von Datensätzen Java Basics - Anfänger-Themen 6
F Java Object to Hashmap ? Java Basics - Anfänger-Themen 6
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
krgewb HashMap Java Basics - Anfänger-Themen 2
B Hashmap richtig bauen, die Tripel auf Zahl abbildet? Java Basics - Anfänger-Themen 10
"java.util.HashMap.get(Object)" is null Java Basics - Anfänger-Themen 10
berserkerdq2 Hashmap, wie prüfe ich ob ein Key schon existiert Java Basics - Anfänger-Themen 19
S Durch HashMap iterieren Java Basics - Anfänger-Themen 8
rafi072001 Sortieren einer HashMap nach Values Java Basics - Anfänger-Themen 2
F gson mit einer Hashmap Java Basics - Anfänger-Themen 2
J JSON-HashMap Java Basics - Anfänger-Themen 3
J Hashmap Java Basics - Anfänger-Themen 13
C Hashmap zickt Java Basics - Anfänger-Themen 9
S HashMap contains() Methode Java Basics - Anfänger-Themen 1
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
P Verschachtelte Hashmap Java Basics - Anfänger-Themen 6
B HashMap alphabetisch sortieren Java Basics - Anfänger-Themen 2
J HashMap Java Basics - Anfänger-Themen 6
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
U Hashmap Iterator selbst implementieren Java Basics - Anfänger-Themen 10
N HashMap in List good practice? Java Basics - Anfänger-Themen 2
K Value eines HashMaps in einer HashMap wiedergeben. Java Basics - Anfänger-Themen 5
J Hashmap langsamer als compareTo? Java Basics - Anfänger-Themen 23
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
J Erhöhen eines Values als Integer bei gleichen Keys in HashMap Java Basics - Anfänger-Themen 12
N Methoden HashMap interne Werte miteinander vergleichen Java Basics - Anfänger-Themen 7
W The type Long is not visible HashMap Java Basics - Anfänger-Themen 4
M Objekt mit Hashmap vergleichen Java Basics - Anfänger-Themen 22
S Gibt es für die Klasse HashMap Generic Implementierungen? Java Basics - Anfänger-Themen 11
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
J Hashmap auslesen Java Basics - Anfänger-Themen 7
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
GreenTeaYT HashMap dupliziert meine Elemente? Java Basics - Anfänger-Themen 2
shiroX Methoden Morse-Code Übersetzer mit HashMap Java Basics - Anfänger-Themen 5
E HashMap Problem Java Basics - Anfänger-Themen 5
P Hashmap anstatt LinkedList? Java Basics - Anfänger-Themen 6
T HashMap und die Methoden Java Basics - Anfänger-Themen 13
N Methoden Interaktives PDF mit HashMap befüllen Java Basics - Anfänger-Themen 0
Z Hashmap auseinandernehmen und analysieren Java Basics - Anfänger-Themen 7
F HashMap oder welches Array? Java Basics - Anfänger-Themen 4
T HashMap Java Basics - Anfänger-Themen 24
L Hashmap mit variablem Key Java Basics - Anfänger-Themen 9
M Collections Probleme mit Hashmap Java Basics - Anfänger-Themen 4
N Collections String in HashMap umwandeln Java Basics - Anfänger-Themen 3
Z HashMap richtig benutzen Java Basics - Anfänger-Themen 2
lgund HashMap // TS3 Query Java Basics - Anfänger-Themen 7
Z Hashmap Iterator löscht nicht Java Basics - Anfänger-Themen 8
E Hashmap Wert auslesen Java Basics - Anfänger-Themen 2
S Printstream für einen Hashmap Loop Java Basics - Anfänger-Themen 1
dat_vin OOP Hashmap und Attribute Java Basics - Anfänger-Themen 7
C Check ob eine HashMap schon existiert Java Basics - Anfänger-Themen 16
P Vererbung Eigene HashMap Variante Java Basics - Anfänger-Themen 2
R Hashmap in anderer Klasse nicht benutzbar Java Basics - Anfänger-Themen 1
T Java Hashmap Java Basics - Anfänger-Themen 3
L Gibt es etwas wie "HashMap <String, String, String> Java Basics - Anfänger-Themen 9
S OOP Klasse mit static-Eigenschaften - HashMap füllen Java Basics - Anfänger-Themen 6
O HashMap Fragen Java Basics - Anfänger-Themen 8
T HashMap Werte einfügen, durchsuchen und auslesen Java Basics - Anfänger-Themen 17
M Semantisches Problem HashMap/Netzwerk Java Basics - Anfänger-Themen 4
D HashMap Keys durchlaufen Java Basics - Anfänger-Themen 2
B Zugriff auf csv-Datei per hashmap Java Basics - Anfänger-Themen 5
M HashMap keys ausgeben Java Basics - Anfänger-Themen 2
S In einer Hashmap Klassen regestrieren Java Basics - Anfänger-Themen 2
H Collections Was ist schneller - HashMap + Sort v TreeMap? Java Basics - Anfänger-Themen 75
F HashMap nach kleinstem Value durchsuchen Java Basics - Anfänger-Themen 11
G HashMap Java Basics - Anfänger-Themen 6
M HashMap Frage Java Basics - Anfänger-Themen 3
M HashMap - put() reagiert nicht? Java Basics - Anfänger-Themen 8
N Cast eines Objektes in eine Hashmap Java Basics - Anfänger-Themen 13
A CSV Zeilenweise einlesen und in einer HashMap speichern Java Basics - Anfänger-Themen 12
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
K HashMap auf leere Key-Value-Paare prüfen Java Basics - Anfänger-Themen 14
F Hilfe bei der HashMap. Java Basics - Anfänger-Themen 3
F HashMap vs. TreeMap Java Basics - Anfänger-Themen 5
B HashMap Java Basics - Anfänger-Themen 9
C Collections String[] als value in HashMap Java Basics - Anfänger-Themen 6
V Hashmap Iterieren Java Basics - Anfänger-Themen 4
C Csv File in Hashmap ausgeben Java Basics - Anfänger-Themen 14
T HashMap<String,Object> Werte auslesen Java Basics - Anfänger-Themen 5
I HashMap sortieren Java Basics - Anfänger-Themen 10
I HashMap Java Basics - Anfänger-Themen 11
H Collections Brauche modifizierte HashMap Java Basics - Anfänger-Themen 6
H TreeMap/HashMap synchronisieren Java Basics - Anfänger-Themen 2
A Datentypen Hashmap to Array Java Basics - Anfänger-Themen 11
D HashMap überschreibt Werte Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben