Suchen nach ArrayObjekten

Status
Nicht offen für weitere Antworten.

SebiB90

Top Contributor
Wenn du Arrays vergleichen willst, macht man das über
[highlight=Java]Arrays.equals(arr1, arr2)[/highlight]
Allerdings müssen die Elemente da auch in der gleichen Reihenfolge sein. Du musst dir wohl eine eigene Methode schreiben, da ich denke, dass die Reihenfolgen unterschiedlich sein dürfen oder?


Nachtrag:
So sollte es ungefähr aussehen, wenn beide Element die gleichen Elemente beinhalten sollen, die Reihenfolge aber egal ist. (ungetestet)
[highlight=Java]public boolean equals(Object[] arr1, Object[] arr2) {
if (arr1.length != arr2.length) {
return false;
}
for (Object o1 : arr1) {
boolean found = false;
for (Object o2 : arr2) {
if (o1.equals(o2)) {
found = true;
break;
}
}
if (!found) {
return false;
}
}
return true;
}
[/highlight]
 
Zuletzt bearbeitet:

SebiB90

Top Contributor
Vergleicht die equals-methode die Objekte in der entsprechenden Reihenfolge?
Gibt es nicht auch eine andere Methode die schaut ob ein Objekt im anderen Array vorhanden ist, oder nicht?
Bei Arrays#equals(Object,Object) müssen die Objekte in der gleichen Reihenfolge sein, wie ich schon beschrieben hab. Ob es eine fertige Methode gibt ka, aber nimm mein Code von oben, entferne die erste If Abfrage, dann sollte die Methode true zurück geben, wenn alle Element aus arr1 auch in arr2 drin sind.
 

SebiB90

Top Contributor
Also erstens:
Mir ist aufgefallen, dass du Ingredient mit RecipeIngredient vergleichst.
Du müsstest dann die equals Methoden der beiden überschreiben, damit ein Vergleich überhaupt möglich ist. Oder erbt RecipeIngredient von Ingredient?

Des weiteren habe ich noch etwas gefunden. Benutz in SearchCriteria auch eine List, dann kannste die Methode containsAll(Collection c) benutzen, dann brauchste keine eigene Methode ;)
 

SebiB90

Top Contributor
Welche Array oder Liste sollte ich durch eine List ersetzen? Anstatt der LinkedList?
Wie könnte ich die equalsMethode überschreiben?

RecipeIngredient enthält wiederum Ingredients. So viel vll. noch als Information.
Die habe ich mit

Ingredient ingredient;

Miteinander verknüpft.
Das Array in SearchCriteria sollst du durch eine List (z.b. ArrayList) ersetzen. Wäre mein Vorschlag.

Dann müsstest du das Ingredient aus RecipeIngredient rausholen und dann damit vergleichen.

Die Methode kannst du einfach überschreiben indem du eine [highlight=Java]public boolean equals(Object o)[/highlight] Methode in deine Ingrendient Klasse einbaust. Du könntest dir die auch einfach über Eclipse, wenn du die IDE nutzt, die equals Methode erstellen lassen.

Evtl wäre besser, wenn du den Quellcode der 3 Klassen(Ingrendient, RecipeIngrendient, und die Klasse mit der Search Methode) mal zeigst, dann kann ich das mal ändern, so wie ich meine.
 

Marco13

Top Contributor
Ja, zu entscheiden, was wofür relevant ist, ist manchmal schon eine Kunst. Und ich weiß nicht, ob man erwarten kann, dass jemand den Enthusiasmus aufzubringen bereit ist, der notendig ist, um sich aus zusammenhangslosen Codestücken das zusammenzubasteln, was notwendig ist, um den Fehler nachvollziehen, und sich dann die Arbeit macht, ihn zu beheben, auf die Gefahr hin, dass der Threadersteller dann ganz enttäuscht antwortet mit "Ja, bei DIR geht das jetzt, aber bei MIR ist dies-und-das ja gaaanz anders"...

Wenn ich das richtig sehe, vergleichst du einen Array von Ingredients mit einer List von RecipeIngredients. Ein weiterer Versucht:

Vorher:
Code:
if (criteria.getIngredients().equals(recipes.get(i).getRecipeIngredient())) 
{
    recipeList.add(recipes.get(i));
}

Nachher:
Code:
Set<Ingredient> a = new HashSet<Ingredient>(Arrays.asList(criteria.getIngredients()));
List<RecipeIngredient> list = recipes.get(i).getRecipeIngredient();
Set<Ingredient> b = new HashSet<Ingredient>();
for (RecipeIngredient ri : list)
{
    b.add(ri.getIngredient());
}
if (a.equals(b)) 
{
    recipeList.add(recipes.get(i));
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I String nach Wort suchen Java Basics - Anfänger-Themen 6
Ellachen55 Wie nach häufigste Werte im Array suchen? Java Basics - Anfänger-Themen 2
S Amazon Produktbeschreibung auslesen und nach Keywords suchen Java Basics - Anfänger-Themen 2
G nach 9 - stelliger Nummer suchen Java Basics - Anfänger-Themen 7
D Liste nach 2 gleichen Einträgen suchen Java Basics - Anfänger-Themen 4
N Operatoren Suchen nach einer bestimmten Eingabe (durch Scanner) Java Basics - Anfänger-Themen 7
A Nach dem Objekt suchen Java Basics - Anfänger-Themen 1
F In einem String nach einem String suchen und Zeichen danach ausgeben Java Basics - Anfänger-Themen 6
W .txt auslesen und nach schlüsselbegriffen suchen Java Basics - Anfänger-Themen 7
G Erste Schritte Nach bestimmten Dateien suchen und dann in die Registry schreiben. Java Basics - Anfänger-Themen 6
B Nach regulären Ausdrücken suchen Java Basics - Anfänger-Themen 14
J Nach einem Wert suchen +/- x Java Basics - Anfänger-Themen 8
D Nach String "{" suchen Java Basics - Anfänger-Themen 4
B Java nach bestimmter dateiendung suchen Java Basics - Anfänger-Themen 6
R Datentypen In String nach String suchen und hinzufügen Java Basics - Anfänger-Themen 2
S Datentypen In ArrayList nach Element suchen und Position ausgeben Java Basics - Anfänger-Themen 9
B Suchen nach Teilstring, um Text danach ausgeben Java Basics - Anfänger-Themen 11
G Nach Datum suchen. Java Basics - Anfänger-Themen 4
G Suchen in Map nach Schlüssel? Java Basics - Anfänger-Themen 2
R Suchen nach Attribut Java Basics - Anfänger-Themen 5
B nach Zeichen suchen dass im string mehrmals vorkommt Java Basics - Anfänger-Themen 3
D Suchen nach E-Mail Adressen mit RegEx? Java Basics - Anfänger-Themen 14
J nach Muster in String suchen Java Basics - Anfänger-Themen 4
C Innerhalb einer *.csv Datei nach Werten suchen ? Java Basics - Anfänger-Themen 10
G zwei Arrays nach gemeinsamme Elemente suchen? Java Basics - Anfänger-Themen 19
L Innerhalb eines Strings nach einem Teilstring suchen Java Basics - Anfänger-Themen 2
R in einem string nach einer zahl suchen und auslesen...... Java Basics - Anfänger-Themen 3
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
O Namen (mit Umlauten und ß) in einer ArrayList suchen Java Basics - Anfänger-Themen 5
B Alle Links in einem Text suchen und ersetzen mit einem neuen Link Java Basics - Anfänger-Themen 18
CptK Koordinate in Liste suchen Java Basics - Anfänger-Themen 20
B Java Mail: suchen von mehreren Emailadressen Java Basics - Anfänger-Themen 5
D Erste Schritte Wert im Array suchen Java Basics - Anfänger-Themen 12
B Suchen und sortieren Java Basics - Anfänger-Themen 10
J Wörter aus Textdatei suchen Java Basics - Anfänger-Themen 2
A Erste Schritte Buchstaben im Array suchen Java Basics - Anfänger-Themen 8
F In List Rekursiv suchen Java Basics - Anfänger-Themen 12
S Wort suchen und ersetzen in einer Datei Java Basics - Anfänger-Themen 6
C In ArrayList suchen Java Basics - Anfänger-Themen 6
C char in String suchen und durch anderen String ersetzen Java Basics - Anfänger-Themen 2
Y Explizites Suchen Java Basics - Anfänger-Themen 13
G Zeichen suchen und Ausgeben. Java Basics - Anfänger-Themen 3
K String in String-Array suchen Java Basics - Anfänger-Themen 11
T Suchen in sortiertem Feld Java Basics - Anfänger-Themen 2
K Im String Array suchen Java Basics - Anfänger-Themen 8
E Belebeste Area im Game of Life suchen Java Basics - Anfänger-Themen 0
A Hash Tabelle Element suchen Java Basics - Anfänger-Themen 1
L Name im Array suchen Java Basics - Anfänger-Themen 12
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
F Methoden Kontaktliste - String in einem Array suchen und ausgeben Java Basics - Anfänger-Themen 3
A Suchen und ersetzen Java Basics - Anfänger-Themen 13
P Teilstring suchen Java Basics - Anfänger-Themen 3
S Wort in Text suchen und ersetzen Java Basics - Anfänger-Themen 3
D String in Datei suchen und löschen Java Basics - Anfänger-Themen 2
K Maximum Suchen Array Java Basics - Anfänger-Themen 6
S Suchen in Arrays Java Basics - Anfänger-Themen 7
J Input/Output String Suchen und Ersetzen Java Basics - Anfänger-Themen 8
A Kleinste Ziffer im Array suchen um Sortierung zu erzeugen Java Basics - Anfänger-Themen 2
N Java Programm zum Suchen und Ersetzen von Text Dateien Java Basics - Anfänger-Themen 10
T String in Array suchen Java Basics - Anfänger-Themen 9
C Bestimmte Informationen von Webseite suchen Java Basics - Anfänger-Themen 13
B Suchen und ersetzten mit \ ? Java Basics - Anfänger-Themen 9
A String in String suchen Java Basics - Anfänger-Themen 3
D Binäres Suchen Java Basics - Anfänger-Themen 11
N Weg suchen bei Adjazenzmatrix Java Basics - Anfänger-Themen 2
E Suchen mit Hashfunktion ?! Java Basics - Anfänger-Themen 7
C Binäres Suchen mit Rekursion Java Basics - Anfänger-Themen 5
I Erste Schritte Ein Zeichen in einem Array Suchen Java Basics - Anfänger-Themen 8
N Binär suchen: Java Basics - Anfänger-Themen 4
D In Hashtable suchen Java Basics - Anfänger-Themen 3
J In String suchen Java Basics - Anfänger-Themen 14
3 3. Element mit regulären Ausdruck suchen Java Basics - Anfänger-Themen 12
L String suchen und ersetzten, ohne neue Datei Java Basics - Anfänger-Themen 4
M Notiz suchen-Programm Java Basics - Anfänger-Themen 3
F Zusammenhängend Komponente suchen(Graph) Java Basics - Anfänger-Themen 4
M Teilmatrix suchen Java Basics - Anfänger-Themen 16
B Element in Folge suchen Java Basics - Anfänger-Themen 7
T String aus einer ArrayList suchen Java Basics - Anfänger-Themen 7
V Doppelte Zahl suchen Java Basics - Anfänger-Themen 14
G List suchen und doppelte rausfiltern Java Basics - Anfänger-Themen 3
D Textdatei einlesen und darin suchen Java Basics - Anfänger-Themen 11
I Wie kann ich ein Wort in einem String suchen Java Basics - Anfänger-Themen 3
P char[] - suchen/ löschen Java Basics - Anfänger-Themen 6
D Array Fehler / groesste Primzahl suchen Java Basics - Anfänger-Themen 4
C Objekt aus Liste suchen Java Basics - Anfänger-Themen 6
S Binärbaum - Klasse Knoten - Methode Suchen Java Basics - Anfänger-Themen 5
D In String suchen und extrahieren Java Basics - Anfänger-Themen 13
H Höchsten int-Wert(key) aus einer Hashmap suchen Java Basics - Anfänger-Themen 19
J Feld in Tabelle suchen Java Basics - Anfänger-Themen 8
Developer_X Strings in JTextarea suchen Java Basics - Anfänger-Themen 15
F Datei suchen --> Pfad als String speichern Java Basics - Anfänger-Themen 8
R einen gegebenen String in einem String suchen Java Basics - Anfänger-Themen 6
? Algo gleicher Buchstabe in 2 Wörtern suchen Java Basics - Anfänger-Themen 16
G String suchen Java Basics - Anfänger-Themen 4
X Attribut in n Objekten suchen Java Basics - Anfänger-Themen 8
G String in Array suchen Java Basics - Anfänger-Themen 6
G Texte innerhalb von Dateien suchen Java Basics - Anfänger-Themen 9
P Text in Verzeichnisse suchen Java Basics - Anfänger-Themen 4
-horn- String im String suchen, womit? Java Basics - Anfänger-Themen 2
G String Suchen ersetzen replace_all() Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben