Objekte in Array vergleichen

PaperHat

Mitglied
Hey, ich habe wieder mal ein Problem und zawr geht es darum Objekte in einem Array zu vergleichen.
Ich hab ein Array, in dem sich folgende 5 Objekte befinden
Java:
Haustiere katze = new Haustiere ("Katze", 4, 25)
Haustiere hund = new Haustiere ("Hund", 24, 58)
Haustiere vogel = new Haustiere ("Vogel" , 0.3, 18)
Haustiere schlange = new Haustiere ("Schlange", 2, 150)
Haustiere hase = new Haustiere ("Hase", 2, 40)
Die Zahlen stehen für Gewicht, Größe.

Der Benutzer wird nun aufgefordert einzugeben, von welchem Tier er die Position in einer Rangordnung, die nach dem Gewicht geordnet ist, sehen möchte.
Es soll also eine Methode geben, die die Eingabe des Benutzers mit dem Array abgleicht und somit auf das gesuchte Objekt stößt und anschließend das Array nach dem Gewicht der Tiere sortiert und so die Reihenfolge festleht. Wiegen zwei Tiere gleich viel, soll nach der Realtion zur Größe geschaut werden, je kleiner, desto weiter oben im Rank.
Jetzt komm ich hier aber überhaupt nicht weiter, im Internet hab ich nichts gefunden, von dem ich denke, dass es mir hilft. Wie kann ich denn die Objekte innerhalb des Arrays vergleichen und somit ein sortiertes Array erlangen und dann auch noch die richtige Position ausgeben? Hat jemand eine Idee? :)
 

Robat

Top Contributor
Naja über das Comparable-Interface kannst du festlegen, wie 2 Objekte vergleichen werden sollen - also wann ObjektA größer/kleiner/gleich ObjektB ist.
Deine Klasse Haustier müsste also das Compareable<Haustier> Interface implementieren und die compareTo(Haustier other) Methode überschreiben. Dann kannst du dein Array bspw einfach über Arrays.sort() sortieren lassen.
 

JCODA

Top Contributor
Erstelle ein Array oder Liste. Fülle deine Haustiere da rein. (Die Klasse sollte Haustier und nicht Haustiere heißen, denn jedes repräsentiert nur eins)
Jetzt kommt es drauf an, ob du Comparable/ einen Comparator benutzen darfst.
Falls ja schau dir für Arrays die Methode https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#sort(T[], java.util.Comparator) an.
Für Listen die Methode https://docs.oracle.com/javase/7/do...ml#sort(java.util.List, java.util.Comparator).
Zu Comparable:
Hiermit machst du eine Klasse vergleichbar. Du musst hierfür das Interface implementieren und damit eine Methode "compareTo" implementieren.
Zu Comparator:
Hier erstellst du eine weitere Klasse, die in der Lage ist Objekte von einer speziellen Klasse zu vergleichen, auch hier gibt es dann eine "compare"-Methode mit zwei Argumenten.
 

PaperHat

Mitglied
Naja über das Comparable-Interface kannst du festlegen, wie 2 Objekte vergleichen werden sollen - also wann ObjektA größer/kleiner/gleich ObjektB ist.
Deine Klasse Haustier müsste also das Compareable<Haustier> Interface implementieren und die compareTo(Haustier other) Methode überschreiben. Dann kannst du dein Array bspw einfach über Arrays.sort() sortieren lassen.

Kennst du zufällig eine Seite, die das einfach erklärt oder hast ein einigermaßen passendes Beispiel für mich, ich hab bis jetzt irgendwie noch nicht so wirklich was gefunden, dass ich verstehe
 

JCODA

Top Contributor
Kennst du zufällig eine Seite, die das einfach erklärt oder hast ein einigermaßen passendes Beispiel für mich, ich hab bis jetzt irgendwie noch nicht so wirklich was gefunden, dass ich verstehe
http://javatricks.de/tricks/objekte-vergleichen-mit-comparable-und-comparator
http://openbook.rheinwerk-verlag.de...09_001.htm#mj0ed1876a49727c1dc4a281f6818e3a95
https://www.java-blog-buch.de/d-objekte-sortieren-comparator-und-comparable/
https://javabeginners.de/Grundlagen/Objekte_sortieren.php
Das sind alles Ergebnisse von einer Google-Suche mit dem Suchbegriff "java comparable interface deutsch". Es sind tatsächlich auch Englische Quellen dabei, aber was soll's.
 

PaperHat

Mitglied
Das Problem bei diesen Seiten ist, dass sie nur 2 und nicht 3 Klassen benutzen und auch nicht erst ne Eingabe vom Benutzer im Array suchen und dann das zugehörige Objekt, in dem die Eingabe vorkommt, ausgeben
 

JCODA

Top Contributor
Das Problem bei diesen Seiten ist, dass sie nur 2 und nicht 3 Klassen benutzen und auch nicht erst ne Eingabe vom Benutzer im Array suchen und dann das zugehörige Objekt, in dem die Eingabe vorkommt, ausgeben
Wie wär's wenn du für diese Dinge selbst eine Google-Suche startest?

Du hast doch hier ein mehrteiliges Problem:
Sortierung.
Benutzereingabe.
Index finden.

Jetzt informierst Du Dich zu jedem dieser 3 Bereiche. Und zwar so, dass Du jeden dieser Bereiche verstehst. Danach baust du sie zusammen.
 

Robat

Top Contributor
Das Problem bei diesen Seiten ist, dass sie nur 2 und nicht 3 Klassen benutzen und auch nicht erst ne Eingabe vom Benutzer im Array suchen und dann das zugehörige Objekt, in dem die Eingabe vorkommt, ausgeben
Kleiner Tipp meinerseits: Du wirst in 95% der Fälle kein Beispiel finden, was 100%ig zu deinen Problemen passt. Zur Programmierung gehört, neben dem erlernen der Sprache selbst, auch das richtige Denken zu erlernen - also Probleme in Teilprobleme zu zerlegen, dazu Teillösungen zu finden und diese am Ende zu kombinieren und eine Gesamtlösung zu erhalten.
Das sollte einem, auch als Anfänger, so schnell wie möglich bewusst werden und das lernen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Comparable - Objekte aus Array vergleichen und größtes auswählen Java Basics - Anfänger-Themen 1
I Erstellte Objekte in Array's miteinander vergleichen Java Basics - Anfänger-Themen 11
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
R Objekte aus Array als String + kommasepariert speichern Java Basics - Anfänger-Themen 12
J Array Objekte einer Klasse zuordnen Java Basics - Anfänger-Themen 15
Orkanson Objekte in ein Array einfügen Java Basics - Anfänger-Themen 5
S Klassen Objekt- Tabelle / Dynamisches 2Dimensionales Array für Objekte Java Basics - Anfänger-Themen 6
F Objekte in einem Array speichern Java Basics - Anfänger-Themen 1
N Objekte in Array rein Java Basics - Anfänger-Themen 6
B Verschiedene Objekte in 2 dimensionalem Array speichern Java Basics - Anfänger-Themen 10
R Bilder aus Array als anklickbare Objekte Java Basics - Anfänger-Themen 3
J Array Objekte erstellen Java Basics - Anfänger-Themen 6
F Adressverwaltungsprogramm: Objekte einer Klasse in Array Java Basics - Anfänger-Themen 6
U Objekte in Array erstellen und Methode in verschiedenen klassen aufrufen Java Basics - Anfänger-Themen 5
T Objekte in Array verwalten Java Basics - Anfänger-Themen 4
I Objekte in einem Array sortieren Java Basics - Anfänger-Themen 19
B Ausgabe von Array aus Objekte Java Basics - Anfänger-Themen 2
W Objekte in einer Array sortieren Java Basics - Anfänger-Themen 3
T OOP Objekte erzeugen und in einem Array ausgeben. Java Basics - Anfänger-Themen 2
M Zugriff auf Objekte aus doppelten Array Java Basics - Anfänger-Themen 16
P Objekte im Array speichern und auf den Inhalt zugreifen ? Java Basics - Anfänger-Themen 4
R Objekte in Array ablegen - Vererbung Java Basics - Anfänger-Themen 5
L Mit Array neue Objekte erzeugen Java Basics - Anfänger-Themen 3
S Point-Objekte in Array einfügen Java Basics - Anfänger-Themen 13
H Objekte in ein array ablegen Java Basics - Anfänger-Themen 7
B Array-objekte,. Es wird ein Fehler ausgegeben Java Basics - Anfänger-Themen 11
J Mehrere Objekte in einem Array Java Basics - Anfänger-Themen 5
walker23m 2 objekte in das array [i] t Java Basics - Anfänger-Themen 2
L Objekte im Array speichern Java Basics - Anfänger-Themen 3
G Array Objekte Klasse Java Basics - Anfänger-Themen 9
I Zapier -> wie werden Objekte gespeichert? Java Basics - Anfänger-Themen 10
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
K Hab ich dass so richtig erklärt (Objekte und Referenzen)? Java Basics - Anfänger-Themen 5
J Objekte in JSON speichern?? Java Basics - Anfänger-Themen 1
I Objekte in ShareProject speichern um später zu nutzen Java Basics - Anfänger-Themen 4
J Objekte Java Basics - Anfänger-Themen 22
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
Hzrfa Objekte, Referenz Java Basics - Anfänger-Themen 5
T 3D Objekte verarbeiten Java Basics - Anfänger-Themen 2
N Welche Objekte kann man zu einem Set hinzufügen Java Basics - Anfänger-Themen 4
I XML einlesen und Objekte bekommen Java Basics - Anfänger-Themen 2
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
Encera Zugriff auf Map-Objekte Java Basics - Anfänger-Themen 3
E Objekte löschen Java Basics - Anfänger-Themen 9
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
B Objekte verschwinden beim Übersetzen Java Basics - Anfänger-Themen 5
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
E Rekursiv Objekte erzeugen - geht das? Java Basics - Anfänger-Themen 2
T Collections Sind Subklassen-Objekte in Listen mit Generics erlaubt? Java Basics - Anfänger-Themen 16
F Aus eingelesener Datei korrekt Objekte erzeugen Java Basics - Anfänger-Themen 5
G Übergeordnete Objekte abrufen Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
B Objekte, bspw. konkret Arraylists,manuell aus Speicher löschen? Java Basics - Anfänger-Themen 70
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
D Wie Objekte im JFrame frei bewegen lassen? Java Basics - Anfänger-Themen 3
Spandeli8 Erzeugte Objekte gegenüber Bildern hervorheben in Java Processing Java Basics - Anfänger-Themen 1
J Zwei Objekte vergleichen Java Basics - Anfänger-Themen 8
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
U Objekte in LinkedList löschen und editieren Java Basics - Anfänger-Themen 14
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
G Methoden Informationen aus zwei Objekte bekommen? Java Basics - Anfänger-Themen 6
P Globale Objekte Java Basics - Anfänger-Themen 2
C Nachträglich neue grafische Objekte hinzufügen Java Basics - Anfänger-Themen 7
D Interaktion zweier Objekte Java Basics - Anfänger-Themen 5
S Objekte indiziert erstellen Java Basics - Anfänger-Themen 27
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
N Typebound Objekte einer Arraylist hinzufügen Java Basics - Anfänger-Themen 7
A (Objekte Java Basics - Anfänger-Themen 6
Y Klassen Klassen und Objekte Java Basics - Anfänger-Themen 3
Y Klassen Klassen und Objekte mit set und get Java Basics - Anfänger-Themen 0
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
G Java Objekte auf Duplikate testen Java Basics - Anfänger-Themen 4
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
M Implementieren einer Datenstruktur, welche nur 5 Objekte speichert Java Basics - Anfänger-Themen 3
M Objekte miteinander vergleichen Java Basics - Anfänger-Themen 18
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
J Java GUI- Objekte Position per Quelltext bestimmen Java Basics - Anfänger-Themen 4
G Objekte in Methoden? Java Basics - Anfänger-Themen 13
H Auf Objekte bzw Variabeln aus einer anderen Methode zugreifen Java Basics - Anfänger-Themen 7
S Frage Klasse und Objekte Java Basics - Anfänger-Themen 2
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
I Objekte Hilfe Java Basics - Anfänger-Themen 8
G Klassen und Objekte Java Basics - Anfänger-Themen 2
W Verschachtelte Objekte wieder auspacken Java Basics - Anfänger-Themen 3
R Attribute mehrerer Objekte ausgeben Java Basics - Anfänger-Themen 3
C Objekte und Konstruktoren Java Basics - Anfänger-Themen 2
F Erstellen zweier Objekte mit dem selben Inhalt Java Basics - Anfänger-Themen 1
O ObjectOutputStream Anzahl Objekte festhalten Java Basics - Anfänger-Themen 17
X Objekte einer ArrayList richtig ausgeben? Java Basics - Anfänger-Themen 8
J Best Practice Dateiinhalte validieren und auf Objekte mappen Java Basics - Anfänger-Themen 3
B Automatisch Objekte erzeugen mit verschiedenen Namen Java Basics - Anfänger-Themen 4
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben