Sortieren: Zwei Vectoren ineinander verschachtelt

Status
Nicht offen für weitere Antworten.
F

Flow25

Gast
Hallo zusammen,

in meiner Anwendung wird über mehrere SQL-Abfrage ein Vector mit Vectoren gefüllt, die allerdings eine von mir eigens geschriebene Klasse Kunde darstellt (Kunde ist von Vector abgeleitet).
Hintergrund ist, dass mit dem Vector eine JTable gefüllt werden soll und bei einem Klick auf eine der Zeilen dieser JTable auf das Element der Klasse Kunde und deren Methoden zugegriffen werden kann.

Es existiert also ein Vector vecZeilen, der wiederrum Vectoren der Klasse Kunde enthält.
Jeder dieser Kunde-Vectoren besitzt vier Elemente:

- Platz
- KundenNr
- KundenName
- Euro-Betrag

Platz ist im Moment nur ein Zähler in der Reihenfolge in der die Kunden-Vectoren in den Vector vecZeilen eingefügt wurden. Eigentlich soll diese Ziffer jedoch den Rangfolgenplatz nach der Sortierung darstellen.

Nun würde ich innerhalb des Vectors vecZeilen gerne die Kunden-Vectoren nach Euro-Betrag sortieren und dannach die Felder Platz neuschreiben, so dass am Ende in der Tabelle der Kunde mit dem höchsten Eurobetrag ganz oben mit der Ziffer (Platz) 1 steht, der Kunde mit dem zweitgrößten Eurobetrag an zweiter Stelle mit dem Platz 2 usw.

Kann mir jemand sagen wie ich diese Sortierung umsetzen könnte??

P.S.: Die Sortierung ließ sich leider noch nicht in der Datenbankabfrage bewerkstelligen.


Gruß Flow25
 

mic_checker

Top Contributor
Implementier Comparable, in compareTo(Object o) nach Euro entsprechend sortieren und nachher mit Collections.sort(deinVector) sortieren.

Dazu gibts im Forum schon einiges.

Entscheidend die compareTo , diese Methode muss in der Klasse stehen die Comparable implementiert und die es zu sortieren gilt.

Btw. wieso genau ist "Kunde" bei dir ein Vector?
 
F

Flow25

Gast
OK ich habe jetzt in meiner Klasse Kunde Comparable implementiert und die Methode compareTo() eingebunden:

Code:
public class Kunde extends Vector
implements Comparable
{
	private int kundeNr;
	private String kundeName;
	private String kundePLZ;
	private String kundeOrt;
	private String kundeStrasse;
	private String kundeTelefon;
	private String kundeEmail;
	private double kundeBetrag;
	
	public Kunde()
	{
		
	}
	
	public int compareTo(Object o)
	{
		int ret = 0;
		
		if (kundeBetrag < ((Kunde)o).kundeBetrag)
		{
			ret = -1;
		}
		else if (kundeBetrag > ((Kunde)o).kundeBetrag)
		{
			ret = 1;
		}
		return ret;
	}
	
	public int getKundeNr()
	{
		return kundeNr;
	}
	
	public void setKundeNr(int nr)
	{
		kundeNr = nr;
		String nummer = String.valueOf(kundeNr);
		addElement(nummer);
	}

.....

Das Ganze verwenden möchte ich in folgender Methode (in einer anderen Klasse):

Code:
public static void bubbleSort(Comparable[] objects)
{
	boolean sorted;
	do
	{
		sorted = true;
		for (int i = 0; i < objects.length - 1; i++)
		{
			if (objects[i].compareTo(objects[i+1]) > 0)
			{
				Comparable tmp = objects[i];
				objects[i] = objects[i+1];
				objects[i+1] = tmp;
				sorted = false;
			}
			
		}
			
			
	}
	while (!sorted);
}

Ich habe nun den Vector vecZeilen, welcher die Kunden-Objekte enthält. Wie kann ich den Vector an die Methode bubbleSort() übergeben, welche ja Comparable[] objects erwartet (das wären bei mir ja die Elemente des Vectors vecZeilen, nämlich Objekte der Klasse Kunde) ???????


Gruß Flow25
 
F

Flow25

Gast
Keine Ahnung warum es ein Vector ist, aber ich habe den Vector jetzt folgendermaßen an
bubbleSort() übergeben:

Code:
int h = 0;
int anzahl = vecSpalte.size();
Comparable[] objects = new Comparable[anzahl];
while (h <= vecSpalte.size())
{
	Comparable com = (Comparable)vecSpalte.elementAt(h);
	objects[h] = com;
		
				
	h = h + 1;
				
}

Bin ja mal gespannt ob das alles funktioniert!!

Gruß Flow25
 
B

bygones

Gast
worauf mic_checker hinaus will ist dass es Unsinn ist Kunde als Vector zu definieren. Kunde ist eine person mit Daten mehr nicht. wenn es mehrere Kunde geben soll, so erstell einen Vector mit Kunden.

Es ist einfach unlogisch die Klasse Kunde von Vector erben zu lassen
 

mic_checker

Top Contributor
Danke deathbyaclown, genau darauf wollte ich hinaus.

Flow25: Schreib dir ne Klasse Kunde (die nicht von Vector erbt) , die Comparable implementiert. D.h. ne entsprechende compareTo() Methode hat. Dann füg in den Vector Objekte vom Typ Kunde ein und ruf abschließend :

Code:
Collections.sort(deinvektor);

auf, so brauchst du nicht deine eigene Implementierung von BubbleSort etc.

btw. Greifen mehrere gleichzeitig drauf zu? Weil Vector brauchst du nur dann wenn synchronized erforderlich ist, ansonsten greif auf ArrayList zu.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Sortieren von einer Liste - zwei zugehoerige Variablen Java Basics - Anfänger-Themen 5
F Zwei Strings synchron sortieren Java Basics - Anfänger-Themen 8
H Beim Vergleich/Sortieren mehr als zwei Objekte berücksichtigen Java Basics - Anfänger-Themen 14
D OOP mit compareTo Array sortieren (aus zwei Klassen) 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
B Suchen und sortieren Java Basics - Anfänger-Themen 10
F Zahlen im Feld sortieren + Unterprogramm Java Basics - Anfänger-Themen 4
O Zweidimensional Array sortieren Java Basics - Anfänger-Themen 14
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
CptK Variablen Teile eines Arrays zufällig sortieren Java Basics - Anfänger-Themen 7
K Methoden Array[][] sortieren Java Basics - Anfänger-Themen 30
CptK Datentypen Integer ArrayList sortieren Java Basics - Anfänger-Themen 2
E ArrayList sortieren Java Basics - Anfänger-Themen 16
L Methode zum sortieren Java Basics - Anfänger-Themen 1
L Methode zum sortieren Java Basics - Anfänger-Themen 1
B Sortieren mit Iterator Java Basics - Anfänger-Themen 4
B Wie kann ich die Buchstaben sortieren nach der Höhe der Zahlen Java Basics - Anfänger-Themen 14
A Sortieren ausgerechneter Werte aus einer TXT Datei Java Basics - Anfänger-Themen 8
E LMC (Assembler) Sortieren von 3 Zahlen Java Basics - Anfänger-Themen 4
J String, Int und double Array sortieren Java Basics - Anfänger-Themen 16
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
A Array sortieren Java Basics - Anfänger-Themen 1
N StringArray alphabetisch sortieren Java Basics - Anfänger-Themen 4
Tommy135 Erste Schritte JavaDoc Sortieren Java Basics - Anfänger-Themen 5
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
D Arraylisten sortieren bitte um Hilfe Java Basics - Anfänger-Themen 4
informatikschüler21 String im Array sortieren Java Basics - Anfänger-Themen 4
U Methoden Zweidimensionales Array mit Arrays.sort sortieren? Java Basics - Anfänger-Themen 22
M Arrays sortieren und kleinster Abstand Java Basics - Anfänger-Themen 3
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
N TreeMap alphabetisch sortieren? Java Basics - Anfänger-Themen 3
I <List> sortieren Java Basics - Anfänger-Themen 2
F Interface Nach mehreren Kriterien sortieren Java Basics - Anfänger-Themen 2
R Objekte Vergleichen und Sortieren Java Basics - Anfänger-Themen 3
I Sortieren nach Priorität Java Basics - Anfänger-Themen 3
S List<T<X,Y> sortieren Java Basics - Anfänger-Themen 5
W Array sortieren Java Basics - Anfänger-Themen 3
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
Alex/89 Werte einer .txt Datei sortieren Java Basics - Anfänger-Themen 8
N Bubble Sort sortieren mit Int Werte Java Basics - Anfänger-Themen 8
N Collection sortieren/ filtern Java Basics - Anfänger-Themen 7
C Methoden Einfach verkette Liste - int Werte aufsteigend sortieren Java Basics - Anfänger-Themen 1
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
S array sortieren Java Basics - Anfänger-Themen 7
D Array mit Zufallszahlen, dann sortieren: Hilfe gesucht! Java Basics - Anfänger-Themen 1
D Methoden int-Array absteigend sortieren Java Basics - Anfänger-Themen 8
C Chars in einem String alphabetisch sortieren Java Basics - Anfänger-Themen 1
C OOP array Sortieren ohne den sort Befehl Java Basics - Anfänger-Themen 10
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
J Sortieren Java Basics - Anfänger-Themen 21
O Erste Schritte TreeMap nach Value sortieren Java Basics - Anfänger-Themen 2
K Collections Sortieren nach zweiter Spalte in JTable Java Basics - Anfänger-Themen 18
H Strings vergleichen & sortieren Java Basics - Anfänger-Themen 20
J Ungewolltes Sortieren eines Arrays Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben