Vektor sortieren

Status
Nicht offen für weitere Antworten.
M

Markus28

Gast
Hallo,
ich möchte einen Vektor sortieren und habe dabei ein Problem. Ich muß es mithilfe Comparable machen.
Ich deklariere eine Klasse
class Person implements Comparable {

Dann deklariere ich halt die Methode public int compareTo.
In dieser klasse werden die Werte -1, 1 bzw. 0 zurückgegeben.

Der Vektor, den ich sortieren möchte, heißt Alter und ist in einer Subklasse von Person angelegt. Wie kann ich von Person aus jetzt die Funktion compareto aufrufen???
Danke,
Markus.
 
B

Beni

Gast
Ich verstehe nicht ganz... also was befindet sich in "Alter"? Personen?

Egal, nehmen wir an, in alter befinden sich Objekte des Types XYZ. Dann muss XYZ Comparable implementieren (class XYZ extends Comparable{...), und das wars eigentlich schon.
Das Interface Comparable sorgt jetzt dafür, dass es für XYZ eine eindeutige Ordnung gibt, und wann immer irgendeine Algorithmus rausfinden muss, ob z.B. a < b ist, ruft er a.compareTo( b ) < 0 auf...
Da du den Sortier-Algorithmus nicht selbst schreiben musst, musst du auch nie die compareTo aufrufen.
Hingegen musst du "Collections.sort" mit deinem Vektor Alter als Argument aufrufen (das wird den Vektor sortieren).
 
M

Markus28

Gast
Danke, ich fürchte, ich habe die Frage nicht gut gestellt, weil ich im Moment wirklich gar nichts verstehe. Also, der Vektor heisst natürlich Studentenliste oder so. Und in dem Vektor sind Studenten mit verschiedenen Altern. Ich moechte den Vektor jetzt dem Alter nach sortieren.

Dafür habe ich in der Superklasse Person folgendes deklariert:
Code:
public int compareTo(Object arg) throws ClassCastException {
	if (arg instanceof Person) {
	Person a= (Person) arg;
		if (this.alter<a.alter) {
		return -1;
		}
		else if(this.alter>a.alter) {
		return 1;
		}
		else {
		return 0;
		}
	}
	else {
		throw (new ClassCastException());
	}

Wie kann ich nun veranlassen, daß die Methode compareto auch wirklich die Studenten (Subklasse) nach dem Alter sortiert?
Muß ich die Methode denn nicht aufrufen?
 
B

Beni

Gast
Nein, du musst den Sortieralgorithmus aufrufen. Dieser wird dann schon dafür sorgen, dass er an seine Informationen kommt (mit der Methode compareTo, die du für ihn ja freundlicherweise geschrieben hast).

Als Beispiel
Code:
Vector studenten = new Vector();
studenten .add( new Student( 18 ));
studenten .add( new Student( 22 ));
studenten .add( new Student( 19 ));

Collections.sort( studenten );

// jetzt sind sie sortiert
 
K

Killa

Gast
Hallo erstmal!

Ich habe mich hier zu dem Thema durchgewühlt, ich möchte gern einen Vektor von Konten sortieren und zwar je nach Bedarf nach Nummern oder nach namen....wenn ich die Methode compareTo überschreibe um den Vector nach Namen zu sortieren....kann ich das genauso für die Nummern tun? Woher "weiß" sort() wonach es sortieren soll in diesem Fall?
 

Wildcard

Top Contributor
In diesem Fall solltest du nicht Comparable implementieren, sondern 2 Comperatoren schreiben die du dann je nach Bedarf bei Collections#sort(List,Comparator) übergibst.
 
K

Killa

Gast
Wildcard hat gesagt.:
In diesem Fall solltest du nicht Comparable implementieren, sondern 2 Comperatoren schreiben die du dann je nach Bedarf bei Collections#sort(List,Comparator) übergibst.

danke schonmal....meinst du mit Comperator die compareTo Methode?

Sorry, ich hab echt keine Ahnung was das angeht , ich lese und lese und versteh irgendwie nur Bahnhof.... :cry:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Vektor mit eigener Datenstruktur sortieren Java Basics - Anfänger-Themen 20
G elemente in einem vektor nach ihren eigenschaften sortieren Java Basics - Anfänger-Themen 2
B Vektor vs List Java Basics - Anfänger-Themen 4
L Klassen Vektor Klasse Java Basics - Anfänger-Themen 2
E Variable (Vektor) in andere Methode übergeben Java Basics - Anfänger-Themen 4
O Matrix, Vektor Java Basics - Anfänger-Themen 9
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
U Ist diese Methode zur Matrix Vektor Multiplikation korrekt ? Java Basics - Anfänger-Themen 5
S Variablen Vektor zur Berechnung verwenden Java Basics - Anfänger-Themen 4
E Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 7
M transposen Vektor transformieren Java Basics - Anfänger-Themen 8
M Vektor Rechnung Java Basics - Anfänger-Themen 6
B Stützstellen (Vektor) erzeugen? Java Basics - Anfänger-Themen 8
R Matrix-Vektor-Multiplikation Java Basics - Anfänger-Themen 13
B Vektor addieren Java Basics - Anfänger-Themen 4
F Funktion eines JButton in einen Vektor verlagern Java Basics - Anfänger-Themen 4
Z Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 13
P Vektor im R3 drehen? Java Basics - Anfänger-Themen 14
M Map mit Vektor: Element hinzufügen Java Basics - Anfänger-Themen 21
A vektor bearbeiten?? Java Basics - Anfänger-Themen 9
V Position in einem Vektor Java Basics - Anfänger-Themen 3
A Wie greif ich auf Elemente eines Arrays in einem Vektor zu? Java Basics - Anfänger-Themen 6
D Array? ArrayList? Vektor? ...? Java Basics - Anfänger-Themen 6
C OOP Aus Vektor zufällig einen Eintrag wählen und in Array[][] schreiben Java Basics - Anfänger-Themen 5
Z Summe von Vektor-Elementen Java Basics - Anfänger-Themen 5
S Variable über den Vektor bestimmen Java Basics - Anfänger-Themen 20
J klasse vektor addition Java Basics - Anfänger-Themen 10
M Vektor Klasse Problem Java Basics - Anfänger-Themen 12
M Reihenfolge von Objekten im Vektor Java Basics - Anfänger-Themen 3
G Vektor auslesen und als int Variable casten Java Basics - Anfänger-Themen 4
G Mothoden von Objekten in Vektor aufrufen Java Basics - Anfänger-Themen 4
F ComboBox im Vektor auslesen, Vektor<JComboBox> Java Basics - Anfänger-Themen 6
G Probleme mit Datenstrukturen (Vektor, HashMap) Java Basics - Anfänger-Themen 5
T Koordinaten eines Vektor übergeben Java Basics - Anfänger-Themen 21
J Vektor in Vektor speichern? Java Basics - Anfänger-Themen 10
J Vektor null setzen Java Basics - Anfänger-Themen 10
R Vektor in verketteter Liste Java Basics - Anfänger-Themen 14
J Vektor + auf Elemente zugreifen funktioniert nicht Java Basics - Anfänger-Themen 11
H Vektor auslesen und durchsuchen Java Basics - Anfänger-Themen 4
G Vektor Java Basics - Anfänger-Themen 1
C "null" Element Vektor abfragen Java Basics - Anfänger-Themen 7
C vektor erschaffen Java Basics - Anfänger-Themen 2
C Ein Element aus Mehrdimensionalem Vektor lesen Java Basics - Anfänger-Themen 2
L Vektor befüllen? Java Basics - Anfänger-Themen 3
G Doppelte (Paar) Werte in einem Vektor finden Java Basics - Anfänger-Themen 6
S kartesischer Vektor im n-dimensionalen Raum. Java Basics - Anfänger-Themen 7
G Objekte in einen Vektor speichern Java Basics - Anfänger-Themen 4
M Vektor, gefüllt mit Objekten einer selbstdefinierten Klasse Java Basics - Anfänger-Themen 4
C checken ob ein Vektor leer ist Java Basics - Anfänger-Themen 3
J tast-Eingabe_(Vektor)Skalar-produkt Java Basics - Anfänger-Themen 19
G Problem clone und Vektor Java Basics - Anfänger-Themen 4
P Vektor toString? Java Basics - Anfänger-Themen 2
T Hashtable und Vektor Java Basics - Anfänger-Themen 3
I einlaggern von Objekten in ein Vektor Java Basics - Anfänger-Themen 10
G Vektor Java Basics - Anfänger-Themen 3
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J HashSet mit Comparable sortieren Java Basics - Anfänger-Themen 13
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
O Sortieren mit Insertion Sort Java Basics - Anfänger-Themen 3
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Jambolo Karten sortieren nach Rang und Farbe Java Basics - Anfänger-Themen 5
rosima26 Java nach letzter Ziffer sortieren Java Basics - Anfänger-Themen 19
H Kompliziertes Sortieren einer ArrayList mit Objekten(Sortieren nach X und Y) Java Basics - Anfänger-Themen 11
K verschiedene Eingaben sortieren Java Basics - Anfänger-Themen 6
G zweidimensionales int Array sortieren Java Basics - Anfänger-Themen 57
K Java sortieren. Java Basics - Anfänger-Themen 7
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
J Tabelle Sortieren Java Basics - Anfänger-Themen 48
rafi072001 Sortieren einer HashMap nach Values Java Basics - Anfänger-Themen 2
L Sortieren Java Basics - Anfänger-Themen 1
C Wie 2 Arrays zusammenfügen und sortieren? Java Basics - Anfänger-Themen 11
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
javaluke Erste Schritte Array nach Datentyp sortieren Java Basics - Anfänger-Themen 16
O 2D-Array nach einer Spalte sortieren Java Basics - Anfänger-Themen 22
C Sortieren einer ArrayList Java Basics - Anfänger-Themen 2
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
java3690 eine liste sortieren Java Basics - Anfänger-Themen 12
DorFey Sortieren eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 8
P Sortieren von Listen nach Attributen Java Basics - Anfänger-Themen 3
W Personen sortieren mit Comparator Java Basics - Anfänger-Themen 9
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
B HashMap alphabetisch sortieren Java Basics - Anfänger-Themen 2
S Streams - Abfrage absteigend sortieren Java Basics - Anfänger-Themen 11
V Collections ArrayList mit Comparator sortieren Java Basics - Anfänger-Themen 16
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
L Array sortieren Java Basics - Anfänger-Themen 4
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
T Java: Array monat absteigend sortieren? Java Basics - Anfänger-Themen 1
B Liste sortieren? Java Basics - Anfänger-Themen 4
P Array Sortieren mit boolean? Java Basics - Anfänger-Themen 33
scratchy1 Array sortieren und dann String-Repräsentation ausgeben Java Basics - Anfänger-Themen 2
O Arrays sortieren in einer Methode Java Basics - Anfänger-Themen 2
E Methoden 2 Arrays sortieren (MergeSort) Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben