Prüfen, ob ein Element in der Liste nicht existiert

blueJavaNoob

Neues Mitglied
Hallo Leute,

ich bin ein Java-Anfänger und sitze derzeit an einem Problem, bei dem mir bis jetzt nicht wirklich jemand helfen konnte. Und bevor ich meinen Code etc. poste, möchte ich erstmal wissen, ob mein Gedanke/Vorhaben überhaupt möglich ist.

Folgende Situation: Ich arbeite gerade an einem Kochbuch, wo ich Rezept speichern, auswählen etc. kann. Dann habe ich noch einen "Herstellen"-Button, wo ich dann meine Prüfstellen/Prüffunktionen aufrufe.

Jedes Rezept hat bestimmte Zutaten und diese müssen mit dem Lager verglichen werden. Sagen wir mal, Rezept A hat die Zutaten (A, B und C) und der Bestand in meinem Lager umfasst aber nur die Zutaten (A, D, E und Y). Und hier kann man schon mein Problem sehen. Ich kann problemlos Zutat A prüfen und ausgeben, ob ich genug davon habe oder nicht.

Und hier komme ich gleich zu meiner Frage: Wie kann ich prüfen und bspw. auf der Konsole ausgebe, dass Zutat B und C nicht vorhanden sind?

Die Zutaten des Rezeptes und Inhalte des Lagers werden in Listen abgespeichert und ich jage meine For-Schleifen über die Listen und überprüfe, ob sie gleich sind. Ich kann auch machen, dass ich sage, falls sie ungleich sind, aber dann bekomme ich die ganze Zutatenliste des Rezepts rausgehauen und das soll's halt nicht.


Ich hoffe ich habe mein Problem etwas verständlich ausgedrückt.

LG blueJavaNoob
 
Zuletzt bearbeitet:

stg

Top Contributor
Ich halte eine Liste denkbar ungeeignet für dein Vorhaben. Verwende lieber Maps. Sowohl fürs Lager als auch für die Zutatenliste. Wieso verwendest du denn ausgerechnet eine Liste?

Ungesehen davon stellt List auch die Methode contains und containsAll bereit, die du dir ja mal anschauen kannst.
 

blueJavaNoob

Neues Mitglied
Hallo, und danke für die schnelle Antwort.

Ich habe die Klassen Rezept und Zutat. Die einzelnen Zutaten eines Rezeptes werden bei mir auf eine Map gespeichert und diese Map wird bei mir dann in die Zutatenliste abgespeichert und dem jeweiligen Rezept zugeordnet. Und das Lager sieht bei mir wie folgt aus. Ich habe die Klasse Lager und diesem Lager wird bei mir ein Interface, wo Fässer abgespeichert werden, zugeordnet. Des Weiteren habe ich keine Klasse erstellt "MaxStore", wo ich die einzelnen Fässer mit einer HashMap sortiere und den gesamten Bestand des Lagers in einer Liste abspeicher.

Und keine Ahnung wieso ausgerechnet Listen. Hatte sich so irgendwie ergeben. Wollte zuerst "Stock"- von Salespoint verwenden, aber dann haben sie aus irgendwelchen Gründen diese Funktionalität aus der API entfernt.
Ah ja, was vielleicht noch wichtig wäre: ich arbeite bei meinem Projekt mit dem Spring-Framework und Thymeleaf.


Zu contains. Liefert es nicht das gleiche Ergebnis, wie equals?
Also er würde ja prüfen, ob etwas gleichen Inhalts vorhanden ist, und wenn ja, dann soll was getan.
Bei Zutat A gäbe es etwas zum vergleichen, aber bei den anderen doch nicht, oder irre ich mich?
 

Harry Kane

Top Contributor
Ich habe die Klassen Rezept und Zutat. Die einzelnen Zutaten eines Rezeptes werden bei mir auf eine Map gespeichert und diese Map wird bei mir dann in die Zutatenliste abgespeichert und dem jeweiligen Rezept zugeordnet. Und das Lager sieht bei mir wie folgt aus. Ich habe die Klasse Lager und diesem Lager wird bei mir ein Interface, wo Fässer abgespeichert werden, zugeordnet. Des Weiteren habe ich keine Klasse erstellt "MaxStore", wo ich die einzelnen Fässer mit einer HashMap sortiere und den gesamten Bestand des Lagers in einer Liste abspeicher.
Ehrlich gesagt, kann ich mir anhand deiner Beschreibung überhaupt nicht vorstellen, wie deine Einzelklassen und deren Zusammenspiel aussehen.

Und keine Ahnung wieso ausgerechnet Listen. Hatte sich so irgendwie ergeben. Wollte zuerst "Stock"- von Salespoint verwenden, aber dann haben sie aus irgendwelchen Gründen diese Funktionalität aus der API entfernt.
Ah ja, was vielleicht noch wichtig wäre: ich arbeite bei meinem Projekt mit dem Spring-Framework und Thymeleaf.
Das sind alles keine Java-Standardklassen. Keine Ahnung, wie man die am besten einsetzt.

Zu contains. Liefert es nicht das gleiche Ergebnis, wie equals?
Also er würde ja prüfen, ob etwas gleichen Inhalts vorhanden ist, und wenn ja, dann soll was getan.
Bei Zutat A gäbe es etwas zum vergleichen, aber bei den anderen doch nicht, oder irre ich mich?
Nein, list.contains(o) sollte in den seltensten Fällen dasselbe zurückliefern wie list.equals(o), es sei denn, list enthält eine Liste, die inhaltsgleich mit ihr ist. Keine Ahnung, ob sowas überhaupt möglich ist.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 Prüfen ob min. ein Element eines Sets in einem anderen Set enh Allgemeine Java-Themen 4
OnDemand Prüfen ob Bild defekt ist Allgemeine Java-Themen 4
N Prüfen, ob ein String 2x das selbe Zeichen hat Allgemeine Java-Themen 10
W Classpath Reflexion - Prüfen ob man auf ein Feld ändern kann Allgemeine Java-Themen 2
OnDemand Bild prüfen ob defekt Allgemeine Java-Themen 3
B Java Mail: Prüfen, ob Email hat ein Anhang oder nicht Allgemeine Java-Themen 2
Bluedaishi Prüfen ob Datei noch geöffnet ist Allgemeine Java-Themen 59
Stonie Prüfen von direkter Implementierung eines Interfaces Allgemeine Java-Themen 7
J Mit Lombok Integer Range prüfen Allgemeine Java-Themen 6
S Prüfen ob Textfile existiert Allgemeine Java-Themen 9
E Programm auf Installation prüfen Allgemeine Java-Themen 1
S Binärbaum prüfen Allgemeine Java-Themen 0
L String auf zahlenwert prüfen Allgemeine Java-Themen 13
W Datum prüfen + zweistellig Allgemeine Java-Themen 11
perlenfischer1984 Functionsparameter prüfen und eine Exception werfen !? Allgemeine Java-Themen 11
Z Java Exceptions - Auf leeres Feld prüfen Allgemeine Java-Themen 10
F Wie kann ich auf einem System prüfen, ob eine lib verfügbar ist? Allgemeine Java-Themen 2
P Prüfen ob es Variable mit Namen gibt der als String übergeben wird Allgemeine Java-Themen 7
M .jar nach Datei prüfen Allgemeine Java-Themen 2
B Existenz eines Files max 30 sec prüfen Allgemeine Java-Themen 5
F Cardlayout prüfen ob schon vorhanden, keine doppelten Allgemeine Java-Themen 3
turmaline Regex gegen Regex prüfen Allgemeine Java-Themen 4
S Lambda Ausdrücke: @FunctionalInterface Instanzen auf null prüfen Allgemeine Java-Themen 9
D ArrayList index auf gültigkeit prüfen Allgemeine Java-Themen 12
C Best Practice [Arrays] Wie sinnvoll prüfen, ob Array primitive Datentypen enthält? Allgemeine Java-Themen 6
L Prüfen, ob Programm über 32bit oder 64bit Java ausgeführt wird Allgemeine Java-Themen 4
K Methoden Arrays auf true Werte prüfen Allgemeine Java-Themen 4
Y Prüfen ob ein Graph immer einen von mehren Enden erreicht Allgemeine Java-Themen 4
O Prüfen ob String eine Zahl mit maximal 2 Nachkommastellen ist Allgemeine Java-Themen 4
M datei aufruf prüfen Allgemeine Java-Themen 9
D Best Practice Prüfen ob jar nachträglich geändert wurde Allgemeine Java-Themen 2
B Dateien prüfen auf Gleichheit Allgemeine Java-Themen 5
H String auf Zahlen prüfen Allgemeine Java-Themen 4
T auf Valides Datum prüfen Allgemeine Java-Themen 12
N Java Version Prüfen lassen Allgemeine Java-Themen 11
S Variablen Prüfen ob Number vom Typ Integer, Float, Double, ... ist Allgemeine Java-Themen 2
E selber Klassen kompilieren/ prüfen Allgemeine Java-Themen 5
O Variablen Originalname einer übergebenen Variable prüfen Allgemeine Java-Themen 9
T Methoden Zahlenpalindrom laufzeitoptimiert prüfen Allgemeine Java-Themen 4
U ResourceBundles auf vollständigkeit prüfen Allgemeine Java-Themen 2
C jollyday: prüfen, ob Datum = Feiertag Allgemeine Java-Themen 8
C Prüfen ob sich ein Punkt innerhalb einer Kugel befindet (Java3D,nicht-lineare GLS) Allgemeine Java-Themen 5
M Objekt prüfen auf null ->Invocation Target Exception??? Allgemeine Java-Themen 2
E Prüfen ob Fenster mit Namen offen ist Allgemeine Java-Themen 2
M Binärbaum auf vollständigkeit prüfen Allgemeine Java-Themen 4
S Mail Adressen Syntax prüfen Allgemeine Java-Themen 22
O Text mit Wildcard gegen regulären Ausdruck prüfen Allgemeine Java-Themen 3
N List auf null prüfen Allgemeine Java-Themen 2
B generischen Typ prüfen Allgemeine Java-Themen 7
D prüfen, ob Enums bestimmte Elemente enthalten Allgemeine Java-Themen 3
N Prüfen ob Methode ausgeführt wird und diese ggf. abbrechen? Allgemeine Java-Themen 8
B Prüfen ob ein Programm gestartet wurde Allgemeine Java-Themen 23
N ArrayList nach Reihenfolge prüfen Allgemeine Java-Themen 2
C Prüfen auf Zahl und 6 stellig fehlerhaft? warum? Allgemeine Java-Themen 7
D Wie prüfen, ob ein String Teil eines Enum Types ist? Allgemeine Java-Themen 12
H Prüfen, ob doppete Werte in int-Array vorhanden sind Allgemeine Java-Themen 16
data89 Bilder mit Java prüfen - suche dringend Hilfe Allgemeine Java-Themen 8
S Prüfen auf Hex-Wert fester Länge! Allgemeine Java-Themen 5
M Prüfen, welche anderen Programme laufen Allgemeine Java-Themen 5
K Zip dateien prüfen Allgemeine Java-Themen 3
G ZIP Archiv auf Konsistenz prüfen Allgemeine Java-Themen 2
T Parameter einer Klasse auf Interface prüfen Allgemeine Java-Themen 6
L Passwort mit Regulärem Ausdruck prüfen Allgemeine Java-Themen 6
P Sound Buffer prüfen Allgemeine Java-Themen 12
B PrintService - Wie prüfen ob Drucker online ist? Allgemeine Java-Themen 2
A Textfeld prüfen, ob ein Punkt eingegeben wurde Allgemeine Java-Themen 8
flashfactor Prüfen ob bereits eine Instanz gestartet ist Allgemeine Java-Themen 2
C Prüfen, ob eine Methode eine andere überschreibt! WIE? Allgemeine Java-Themen 8
T Prüfen, ob Char ein Quantifier ist Allgemeine Java-Themen 6
N Prüfen ob Objekt in Liste enthalten ist Allgemeine Java-Themen 17
G Prüfen welche JRE-Version gebraucht wird Allgemeine Java-Themen 19
J Mit Patternmatching einen Satz prüfen Allgemeine Java-Themen 12
G Prüfen ob Ziffern einer Zahl pandigital sind? Allgemeine Java-Themen 15
M Prüfen ob Variable vorhanden / initalisiert ist Allgemeine Java-Themen 4
J Wie prüfen ob eine Datei vom OS fertig geschrieben wurde? Allgemeine Java-Themen 6
TheJavaKid Zeile auf existenz von String prüfen. Allgemeine Java-Themen 19
A Weshalb man Parameter auf Gültigkeit prüfen sollte Allgemeine Java-Themen 6
N Prüfen ob ein String in einen Integer umgewandelt werden kan Allgemeine Java-Themen 4
O String auf zahlen prüfen (java 1.3) Allgemeine Java-Themen 4
G Datei Zugriffsrechte prüfen Allgemeine Java-Themen 2
Linad Bilder auf Gleichheit prüfen Allgemeine Java-Themen 6
G ResultSet auf Inhalt prüfen? Allgemeine Java-Themen 2
H Prüfen, ob es sich um ein Integer handelt Allgemeine Java-Themen 4
C String str prüfen Allgemeine Java-Themen 3
H Prüfen ob ein String grösser als 4 Zeichen ist Allgemeine Java-Themen 3
F Prüfen, ob Windows oder UNIX Allgemeine Java-Themen 2
W Queue.remove() -> no such element exception Allgemeine Java-Themen 17
B flying-saucer-pdf Element vertikal strecken Allgemeine Java-Themen 0
P Selenium . Probleme ein Iron Icon Element anzusprechen Allgemeine Java-Themen 2
A Java ListNode Element einfügen ohne Bibliothek Allgemeine Java-Themen 6
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
S Link element an vorletzte stelle einfügen Allgemeine Java-Themen 2
I DOM-Parser - Element im Element an bestimmten Stellen auslesen Allgemeine Java-Themen 1
B DomParser - Element filtern Allgemeine Java-Themen 4
S Iterable<?> anzahl der Element Allgemeine Java-Themen 14
P Element einer Liste wurde hinzugefügt, aber es gibt keinen Zugriff Allgemeine Java-Themen 2
C Swing File[] als klickbare links in irgendeinem Swing Element Allgemeine Java-Themen 3
perlenfischer1984 Reflection : Element in generische Liste hinzufügen Allgemeine Java-Themen 4
KeVoZ_ JSoup - Website Inhalt/Element mit String vergleichen Allgemeine Java-Themen 2
Messoras List zeigt nur das letzte Element an Allgemeine Java-Themen 14

Ähnliche Java Themen

Neue Themen


Oben