Verschachtelte Hashmap

Panda9296

Bekanntes Mitglied
1594469049514.png

Hi Leute und zwar möchte ich diese verschachtelte Hashmap konfigurieren. Der Grund für die Hashmap ist der, dass der Schlüssel immer ein Produkttyp sein soll, der eine Arrayliste mit den geaddeten Zutaten aufruft. Ich habe die Klasse vorher mit einer Arrayliste geschrieben und bin folgender maßen voran gekommen:

Code:
package de.miguel.frozzenlist.frozzenbetaa;

import java.util.ArrayList;
import java.util.HashMap;

public class Tray {

    private int trayID;
    public HashMap<String,ArrayList<Product>>producttype= new HashMap<>();

    //private ArrayList<Product> productList= new ArrayList<Product>();

    public Tray(int trayID, int userID,HashMap<String,ArrayList<Product>>producttype) {
        this.trayID = trayID;
        this.producttype=producttype;
    }
    public void showTray() {
        toStringForListInformation();
    }
    public void addProduct(ArrayList<Product>productList, Product product){

        productList.add(product);
    }
    public void removeProduct(int input,ArrayList<Product>productlist) {
        toStringForListInformation();
        toStringQuestionWhichIndexRemove();
        productlist.remove(input);
    }
    public int getTrayID() {
        return trayID;
    }
    public void setTrayID(int trayID) {
        this.trayID = trayID;
    }
    public ArrayList<Product> getProductList() {
        return productList;
    }
    public void addProduct(String name,String typ,int productID) {
        Product product =new Product();
        product.setName(name);
        product.setTyp(typ);
        product.setProductID(productID);
        productList.add(product);
    }
    public void removeProduct(int input) {
        for(int i=0;i<productList.size();i++) {
            while(input==i) {
                productList.remove(i);
            }toStringMessageOutOfBons();
        }
    }
    public void changeProduct(int input,String name,String typ,int productID) {
        for(int i=0;i<productList.size();i++) {
            while(input==i) {
                productList.get(i);
                Product product =new Product();
                product.setName(name);
                product.setTyp(typ);
                product.setProductID(productID);
                productList.add(i, product);


            }toStringMessageOutOfBons();
        }
    }

    @Override
    public String toString() {
        return "Tray [trayID=" + trayID + ", productList=" + productList + "]";
    }
    @SuppressWarnings("unused")
    public String toStringForListInformation() {

        for(int i=0;i<productList.size();i++) {

            return "Listung des Faches: "+trayID+"\n "+productList.get(i);
        }
        return "Keine Liste vorhanden";
    }
    public static String toStringQuestionWhichIndexRemove() {
        return "Welchen Index wollen Sie löschen?";
    }
    public static String toStringMessageOutOfBons() {
        return "Falsche Eingabe. Deine Eingabe ist außerhalb der Indexreichweite!\nVersuche es nochmal";
    }
}

Meine Frage ist jetzt, wie ich das jetzt mit der Hashmap machen kann. Ich denke nicht das es wichtig ist, möchte es denoch erwähnen, dass dies eine Android App wird.
 

temi

Top Contributor
Ich verstehe deine Frage nicht. Kannst du dein Problem genauer schildern?

Du hast doch eine Map<> in deinem Code?

Schau dir ggf. die Dokumentation zur Map an. Werte hinzufügen kannst du z.B. mit put(key, value). Deine Map verwendet einen String als Schlüssel.
 

Panda9296

Bekanntes Mitglied
ja das ist klar. Frage ist halt eher die, der Key spiegelt den Produkttyp( fleisch, fisch gemüse) wieder. Muss ich jetzt für jede Möglichkeit einen Key mit der Put/add methode machen?
 

mihe7

Top Contributor
Klar. Wenn ich Dich richtig verstehe, willst Du zu einem Produkttyp eine Liste von Produkten speichern.
Java:
List<Product> products = map.computeIfAbsent(productType, k -> new ArrayList<Product>());
products.add(product);
 

Panda9296

Bekanntes Mitglied
ja es ist halt so. Ich kenne die Syntax ich versuche es halt umzusetzen und ich habe da einfach jetzt so ne Mauer die mich dran hindert es zu verstehen. Übungsaufgaben sind kein Problem. Das Ding ist also die Überlegung. Ich brauche zu jedem Produkttypen erstmal einen Key also der Key ist der Typ und dazu soll die Liste her. Was brauche ich jetzt im das geschachtelt schön hinzubekommen. Ich möchte sagen... wenn du Gemüse hast speichere das Produkt in der Liste mit dem Key Gemüse. Ich kanns nicht genauer beschreiben^^ voll der Wurm drin. Das ist aber irgendwie momentan bei vielen fortgeschrittenen Themen so,(Threads zum Beispiel). Mir ist ja bewusst, dass man Fußball spielen nicht von heute auf morgen lernt, aber manchmal ist es schon frustrierend :D
 

mihe7

Top Contributor
Ich möchte sagen... wenn du Gemüse hast speichere das Produkt in der Liste mit dem Key Gemüse. Ich kanns nicht genauer beschreiben^^ voll der Wurm drin.
Das ist das, was der Code in Kommentar #4 macht. Es geht auch ausführlicher:

Java:
// hol erst mal die Liste mit den Produkten eines bestimmten Produkttyps
List<Product> products = map.get(productType);
// falls zum Produkttyp noch nichts hinterlegt wurde, ist products null...
if (products == null) {
    products = new ArrayList<>(); // neue Liste für die Produkte erstellen und
    map.put(productType, products); // zur Map hinzufügen
}
// jetzt noch in die Liste das neue Produkt einfügen
products.add(product);
 

Panda9296

Bekanntes Mitglied
Das ist das, was der Code in Kommentar #4 macht. Es geht auch ausführlicher:

Java:
// hol erst mal die Liste mit den Produkten eines bestimmten Produkttyps
List<Product> products = map.get(productType);
// falls zum Produkttyp noch nichts hinterlegt wurde, ist products null...
if (products == null) {
    products = new ArrayList<>(); // neue Liste für die Produkte erstellen und
    map.put(productType, products); // zur Map hinzufügen
}
// jetzt noch in die Liste das neue Produkt einfügen
products.add(product);
ok danke jetzt habe ich es verstanden denk ich.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Verschachtelte for-Schleife Java Basics - Anfänger-Themen 2
laxla123 Verschachtelte If-Else Schleife Java Basics - Anfänger-Themen 21
W Verschachtelte If-else --> finde meinen Fehler nicht Java Basics - Anfänger-Themen 30
Düsseldorf2002 Datentypen Verschachtelte LinkedList Java Basics - Anfänger-Themen 5
J Verschachtelte Methoden Java Basics - Anfänger-Themen 9
P Verschachtelte Array Liste Java Basics - Anfänger-Themen 2
B Verschachtelte For Schleifen Java Basics - Anfänger-Themen 8
W Verschachtelte Objekte wieder auspacken Java Basics - Anfänger-Themen 3
S Verschachtelte Schleife Java Basics - Anfänger-Themen 3
F Methoden Verschachtelte if else Methode Java Basics - Anfänger-Themen 10
Z Verschachtelte If-Bedingung Java Basics - Anfänger-Themen 6
Y Verschachtelte For-Schleife Java Basics - Anfänger-Themen 5
D verschachtelte Schleifen Java Basics - Anfänger-Themen 6
M Verschachtelte Forschleifen Java Basics - Anfänger-Themen 2
F Klassen Zugriff auf verschachtelte Objekte Java Basics - Anfänger-Themen 11
J static verschachtelte Klassen und innere Klassen Java Basics - Anfänger-Themen 1
TheMenox Verschachtelte If Bedingung Java Basics - Anfänger-Themen 4
R Verschachtelte Arraylist und deren Größe auslesen Java Basics - Anfänger-Themen 7
C Verschachtelte Map auslesen Java Basics - Anfänger-Themen 4
H Best Practice Wie mit break verschachtelte Schleifen komplett verlassen? Java Basics - Anfänger-Themen 2
F Verschachtelte Schleifen Java Basics - Anfänger-Themen 4
J Hilfe verschachtelte Schleifen Java Basics - Anfänger-Themen 5
F Erste Schritte Switch case vs. Verschachtelte If Anweisung Java Basics - Anfänger-Themen 11
G Collections verschachtelte ArrayList abfüllen Java Basics - Anfänger-Themen 5
X verschachtelte suche Java Basics - Anfänger-Themen 8
S Verschachtelte Exceptions - Übersicht verbessern Java Basics - Anfänger-Themen 2
D Verschachtelte Objekterzeugung Java Basics - Anfänger-Themen 6
S verschachtelte for-Schleife Java Basics - Anfänger-Themen 6
X Verschachtelte Annotationen Java Basics - Anfänger-Themen 9
J verschachtelte Schleife Java Basics - Anfänger-Themen 10
P Verschachtelte Schleife vorzeitig abbrechen. Java Basics - Anfänger-Themen 50
S verschachtelte for Schleife und Ergebniss. Java Basics - Anfänger-Themen 3
J verschachtelte for-schleifen Java Basics - Anfänger-Themen 2
S Verschachtelte Klassen Java Basics - Anfänger-Themen 12
D Verschachtelte IF-Anweisung Java Basics - Anfänger-Themen 10
C Verschachtelte for-schleifen Java Basics - Anfänger-Themen 10
C Verschachtelte For-Schleifen Java Basics - Anfänger-Themen 5
3 Verschachtelte Zuweisung Java Basics - Anfänger-Themen 4
M Tief verschachtelte Packages Java Basics - Anfänger-Themen 7
T add-Methode für verschachtelte ArrayLists Java Basics - Anfänger-Themen 10
C Verschachtelte For-Schleife Java Basics - Anfänger-Themen 6
E Verschachtelte If-Anweisungen - "else without if" Java Basics - Anfänger-Themen 4
T Datentypen Verschachtelte Map durchlaufen Java Basics - Anfänger-Themen 4
P Verschachtelte For-Schleifen Java Basics - Anfänger-Themen 4
F Verschachtelte Arrays kopieren und überschreiben Java Basics - Anfänger-Themen 4
J Verschachtelte for schleife mit dynamischer Anzahl an Schleifen Java Basics - Anfänger-Themen 10
M Verschachtelte Strukturen. Java Basics - Anfänger-Themen 7
J Verschachtelte for-Schleife mit Löschen von Iterationen. Wie über Iterator abbilden? Java Basics - Anfänger-Themen 6
M Viele verschachtelte Schleifen Java Basics - Anfänger-Themen 14
A Verschachtelte Hashtable ausgeben. Java Basics - Anfänger-Themen 3
W verschachtelte while schleife Java Basics - Anfänger-Themen 8
G Verschachtelte Case Fallunterscheidung Java Basics - Anfänger-Themen 7
W verschachtelte For-Schleife - continue Java Basics - Anfänger-Themen 8
R Verschachtelte Schleife? Java Basics - Anfänger-Themen 6
M sehr weit verschachtelte XML-datei mit jdom auslesen Java Basics - Anfänger-Themen 4
S verschachtelte while Schleifen Java Basics - Anfänger-Themen 5
R Bedingte Opeatoren / Verschachtelte Operatoren Java Basics - Anfänger-Themen 4
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
I Sortiert eine HashMap nicht gleich wie eine ArrayList? Java Basics - Anfänger-Themen 1
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
O Hashmap, ArrayList, LinkedList Java Basics - Anfänger-Themen 7
O HashMap - ArrayList Java Basics - Anfänger-Themen 29
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
B Durchlaufen von Hashmap und Arraylist Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben