2 dimensionalesArray sortieren

Status
Nicht offen für weitere Antworten.
M

markus055

Gast
Code:
Object[][] test = new Object[999][4];
		for (int i = 0; i < 999; i++) {
			zellen3[i][0] = gewinne; // int Wert
			zellen3[i][1] = name;
			zellen3[i][2] = datum;
}


Ich habe ein 2D Array erstellt, das durch eine Schleife 999mal mit Werten gefüllt wird. Wisst ihr, wie ich dieses 2D Array aufsteigend nach dem int -Wert "gewinne" aufsteigend sortieren kann? Die anderen Werte sollten mit berücksichtigt werden, damit die tabellarische Ausgabe so aussehen könnte:

UNSORTIERT:
gewinne name datum
12 max 1.1.08
3 moritz 23.6.99
7 peer 4.5.03

SORTIERT:
gewinne name datum
3 moritz 23.6.99
7 peer 4.5.03
12 max 1.1.08


Vielen Dank im Voraus für eure Hilfe!
 

Backwardsman

Bekanntes Mitglied
warum hat denn die 2. dimension die größe 4, wenn aber nur 3 daten reingeschrieben werden? ist das absicht?

weiß du denn wie man einen array sortiert?? wenn ja, sortiere einfach und zieh die anderen felder mit... wenn nein, mach dir gedanken wie man einen 1-dimensionalen array sortieren kann!
 
G

Guest

Gast
hallo,

die 2. Dimension hat 3 Daten, das war nur ein Tippfehler. Bloß wie kann ich das alles richtig sortieren und auch die anderen felder "mitziehen"?
 
G

Guest

Gast
Hallo,

mit dem Comparator komme ich überhaupt nicht zurecht. Könnt Ihr mir bitte anhand des Beispiels oben zeigen wie das geht?

1dimensionale Arays kann ich ja problemlos sortieren, aber des 2D Arrayy ist mir zu hoch. :bahnhof:
 
S

SlaterB

Gast
dann poste doch bitte mal ein Beispiel mit Comparator für eine Dimension
und ich sage dir, was du für die zweite Dimension ändern musst
 
G

Guest

Gast
Wie gesagt schaffe ich es nur ein eindimensionales int Array so zu sortieren:

Code:
java.util.Arrays.sort(gewinne );


Ich schaffe es einfach nicht das 2D Aray wie oben gewünscht zu sortieren UND die anderen Arrayfelder auch mitzuziehen. Da blick ich einfach nicht durch.
 
M

markus055

Gast
Ich versuche schon seit Stunden eine Lösung zu finden, aber es will nicht klappen. :gaen:

könnt Ihr mir bitte weiterhelfen?
 
S

SlaterB

Gast
ich persönlich kann mit der Einstellung 'ich verstehe nix, kann mir das jemand bauen/ nochmal erklären/ xy' nichts anfangen,
was für ein Beispiel möchtest du, was nicht auch in
Listing 11.7 com/javatutor/insel/util/ClubComparatorDemo.java
steht?
http://www.galileocomputing.de/open...11_004.htm#mjc792ab5972f0f52b15137c4f846c03e0

was spricht dagegen, "beispiel comparator java" bei google einzutippen?
oder "Comparator" hier in die Forumsuche, das Thema kommt eh 1x die Woche

aber grundsätzlich ist das ja alles kein Vorgehen,
wenn du es nicht selbstständig lernen willst, dann lasse es lieber sein,

ansonsten setze dich doch konstruktiv damit auseinander,
beschreibe haargenau, was du daran nicht verstehst und es geht zack auf zack voran,
nur mit 'keine Ahnung' kann niemand etwas anfangen
 
M

markus055

Gast
@SlaterB

Ich habe mir deine java ist auch eine Insel Links durchgelesen, allerdings werde ich daraus nicht schlauer. Leider weiß ich nicht wo ich genau anfangen soll bzw was ich überhaupt coden muss.

Ich hoffe, du kannst mir den Code zur Sortierung für das obige Beispiel posten. Das würde ich nämlich besser verstehen. Die Schwierigkeit liegt eben darin die anderen Felder bei der Sortierung mitzuziehen ( Name, Datum ) und das schaffe ich nicht.
 
S

SlaterB

Gast
> Die Schwierigkeit liegt eben darin die anderen Felder bei der Sortierung mitzuziehen ( Name, Datum ) und das schaffe ich nicht.

falsch, die Schwierigkeit liegt darin, überhaupt erstmal den Umgang mit Comparator zuerlernen,
wenn das geschafft ist, dann kann ich dir weiterhelfen, die anderen Felder miteinzubeziehen

SlaterB hat gesagt.:
dann poste doch bitte mal ein Beispiel mit Comparator für eine Dimension
und ich sage dir, was du für die zweite Dimension ändern musst

--------

> Ich hoffe, du kannst mir den Code zur Sortierung für das obige Beispiel posten.

dieser Satz zusammen mit den verständlichen einfachen Beispielen im Lehrbuch sagt mir nunmal,
dass du das ganze nicht verstanden hast oder willst oder nicht in dein Beispiel übertragen kannst oder willst,
die Folge davon ist für mich persönlich nicht, dass nun für dich zu machen, so dass du nichts lernst und beim nächsten Problem wieder ankommst,

stattdessen versuche bei diesem ersten noch überschaubaren Thema, das selber zu machen,

es muss ja nicht in einem Schritt das zweidimensionale Array sein,
schaue dir die Beispiele im Buch an, versuche es mit einer einfachen String-Liste, mit einer Integer-Liste usw.,
Sortieren ist ein derart großes Thema, das muss man doch nicht an einem Tag lernen,

oder wie gesagt: beschreibe was du nicht verstehst, wenn dir das nicht möglich ist, dann geht es nicht voran
 
M

markus055

Gast
@Anfänger

Das Beispiel habe ich mir gestern schon angesehen. Dort werden allerdings nur eindimensionale Arrays erklärt.

Da ich immer noch keine Ahnung habe, wie man ein 2D Array sortiert, werde ich mich wohl nach einer anderen Lösung umsehen müssen.
 
B

Beni

Gast
2D Arrays gibt es in Java nicht. Aber es gibt Arrays bestehend aus Arrays... einen "2D"-Array sortieren, ist also dasselbe wie einen "normalen" Array sortieren. Du musst den Comparator nur so schreiben, dass er zwei Object[] vergleicht (weil in einem Object[][] nunmal Object[]s drin sind).
 
M

markus055

Gast
Kann mir bitte jemand bitte die Lösung für das Beispiel oben posten?

Ich werde sonst nie drauf kommen ???:L
 
M

markus 055

Gast
Ich habe nun folgende Klasse erstellt:

Code:
public class ColumnSorter implements Comparator {
   int column;
 
   public ColumnSorter(int columnToSortBy) {
      this.column = columnToSortBy;
   }
 
   public void setColumnToSortBy(int columnToSortBy) {
      this.column = columnToSortBy;
   }
 
   public int compare(Object o1, Object o2) {
      Comparable[] array1 = (Comparable[])o1;
      Comparable[] array2 = (Comparable[])o2;
 
      return array1[column].compareTo(array2[column]);
   }
}

WIe kann ich nun die WErte von meinem Beispiel in dieser Klasse vergleichen und wieder geordnet aufrufen?

Daran hapert es noch bei mir.
 
S

SlaterB

Gast
ein Object[] kannst du nicht auf Comparable[] casten,
verwende von Anfang an Comparable[], dann wirds besser klappen,

was willst du nun mehr, sollte doch so laufen?

wie du auf die Arrays zugreifen kannst? mit array1[2], ganz normal

> wieder geordnet aufrufen

was bedeuten diese Worte?


oder meinst du den Sortieraufruf?:
Arrays.sort(zweiDimArray, comparator);
danach das Array mit einer Schleife durchlaufen oder wie auch immer
 
M

markus055

Gast
Es sollte folgendes ausgegeben werden:

gewinne name datum
3 moritz 23.6.99
7 peer 4.5.03
12 max 1.1.08

Ich weiß allerdings nicht, wie man die Werte richtig übergibt.
 
S

SlaterB

Gast
hab in meine Antwort noch etwas editiert zum Aufruf des Sortierens,
ansonsten musst du konkreter werden, was du unter 'Werte richtig übergeben' meinst
 
G

Guest

Gast
Das unsortierte 2d Array muss in die Klasse ColumnSorter übergeben werden.
 
G

Guest

Gast
@Slater

könntest du mir bitte den kompletten Code posten, der das unsortierte 2 Array sortiert und dann auf der Console bzw in JTable ausgibt?

Du würdest mir sehr weiterhelfen, da ich den Zusammenhang nicht verstehe und das schon seit Tagen versuche. :(
 
S

SlaterB

Gast
..

nein, wieso? sinnvolle echte Java-Probleme, zu denen man ewig ein ganzes Lehrbuch lesen müsste bis man zufällig auf das passende Kapitel stößt,
oder Missverständnisse in Erklärungen, oder Tippfehler in Code, oder vergesserfehlende Namen eigentlich bekannter Operation,
oder oder oder
sind alles sinnvolle Themen für ein Java-Forum,

aber wenn du nicht eigenständig programmieren lernen willst,
was bringt es dann dir irgendwas hinzuschreiben?

du brauchst lediglich den sort-Aufruf und hast dann ein sortiertes Array,
was immer du danach damit machen willst ist stinknormale Array-Arbeit,
wenn du diese nicht kennst, weißt du ja wo du es ganz gemütlich nachlesen kannst (wie jeder andere auch)
 
G

Guest

Gast
markus055 hat gesagt.:
Kann mir bitte jemand bitte die Lösung für das Beispiel oben posten?
Wie bereits gesagt musst Du einen Comparator schreiben, der Object[] mit Object[] vergleicht. Etwa so:

Code:
public static void main(String[] args)
{
	Object[][] test = new Object[999][3];
	for (int i = 0; i < 999; i++)
	{
		test[i][0] = 1000 - i;
		test[i][1] = "" + i;
		test[i][2] = "" + (2 * i);
	}

	Arrays.sort(test, new Comparator<Object[]>()
	{
		public int compare(Object[] o1, Object[] o2)
		{
			return (Integer) o1[0] - (Integer) o2[0];
		}
	});

	for (int i = 0; i < 10; ++i)
	{
		System.out.println(test[i][0] + ", " + test[i][1] + ", "
				+ test[i][2]);
	}
}

Fred
 
M

markus055

Gast
Vielen Dank Fred für die Lösung! :D

Der Comparator zieht sozusagen alle anderen Zellen im Vergleich mit. Anfangs hatte ich gedacht, dass man das viel aufwändiger und umfangreicher programmieren muss :gaen:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Mehrere Spalten mit Comparator sortieren Java Basics - Anfänger-Themen 2
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
T Collections Sortieren von Automodellen (v.a. BMW und Mercedes) Java Basics - Anfänger-Themen 3
P Liste sortieren verschiedener generischer Typen Java Basics - Anfänger-Themen 4
D Erste Schritte array aufsteigend sortieren und ausgeben Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben