Objekte in einem Array sortieren

imox

Aktives Mitglied
Ich habe die Klasse CDModel und ein Object Array in dem ich dann halt die verschiedenen cd Objekte reinschreibe. Jetzt möchte ich gerne alle CD's in dem Array nach title, author, index sortieren.

Kann mir jemand sagen wie ich das machen kann?

Bitte keine Vorschläge das ich das in eine Arraylist etc. stecken soll oder das ich irgendwas ändern soll. Das ist für die Berufsschule und ich muss das genau so machen.

Da ich das morgen abgeben muss würde ich mich über eine schnelle Antwort freuen ;)

Vielen Dank schon mal

Java:
import java.io.Serializable;

public class CDModel implements Serializable {
	private static final long serialVersionUID = 6743146085709507849L;
	private int index;
	private String title;
	private String author;
	private CDSongtitle songTitles[];

	public void setIndex(int index) {
		this.index = index;
	}

	public void setAuthor(String interpret) {
		author = interpret;
	}

	public void setSongTitles(CDSongtitle[] songtitle) {
		this.songTitles = songtitle;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public int getIndex() {
		return index;
	}

	public String getAuthor() {
		return author;
	}

	public CDSongtitle[] getSongtitles() {
		return songTitles;
	}

	public String getTitle() {
		return title;
	}
	
}
 

mla.rue

Bekanntes Mitglied
wie wärs mit einem Sortier-Algorithmus (Quick, Bubble etc). Genügend Beispiele findest, wenn du deine Kristallkugel (Suchmaschine) befragst.
 

imox

Aktives Mitglied
hab ich auch schon dran gedacht aber ich habs das bisher nur mit zahlen gemacht wie mach ich das mit Objekten wo ich dann auf Titel etc. zugreifen muss.
 
B

bygones

Gast
Arrays#sort nutzen und entweder Comparable implementieren oder entsprechende Comparators bereitstellen
 

imox

Aktives Mitglied
Ja aber wenn ich Comparable implementiere kann ich ja nur nach einem Kriterium sortieren. Wäre nett wenn ihr mir ein bisschen genauer helfen könntet.
 

timbeau

Gesperrter Benutzer
Wie kommst du auf diese Aussage?

Java:
if(o1.gettitel.compare(o2.gettitel) ==0){ //1. Kriterium klappt nicht
     if(o1.getKuenstler.compare(o2.getKuenstler.....)
 
B

bygones

Gast
Ja aber wenn ich Comparable implementiere kann ich ja nur nach einem Kriterium sortieren. Wäre nett wenn ihr mir ein bisschen genauer helfen könntet.
wie gezeigt kannst du frei nach einem oder mehreren Kriterien sortieren, aber es stimmt, dass dann die sortierung der Objekte immer gleich ist. Wenn du untersch. Sortierungen haben willst, so musst du das ueber einen externen Comparator loesen
 
S

Spacerat

Gast
Comparator hat aber dennoch die Vorteile, dass man mehrere davon schreiben kann die jeweils nach einem Kriterium sortieren. Schachteln kann man im Comparator natürlich auch. Daraus ergibt sich für Comparator ein weiterer Vorteil, die Parametrierbarkeit über Flags.
Java:
CDComparator implements Comparator<CDModel> {
  private static final int TITLE = 1 << 0;
  private static final int INTERPRET = 1 << 1;
  //...aso

  private int sortFlag;

  public CDComparator(int flags) {
    sortFlag = flags;
  }

  public int compare(CDModel cd1, CDModel cd2) {
    int rc = 0;
    if(sortFlag & TITLE != 0) {
      rc = cd1.getTitle().compareTo(cd2.getTitle()
    }
    if(rc == 0 && sortFlag & INTERPRET != 0) {
      rc = cd1.getKuenstler().compareTo(cd2.getKuenstler();
    }
    //...aso
  }
}
Diese Parametrierbarkeit lässt sich zwar auch in Comparable<CDModel> einpflegen, aber BestPractise ist das keineswegs.
 
Zuletzt bearbeitet von einem Moderator:

mla.rue

Bekanntes Mitglied
Es gibt Verwendungsgebiete für Collection und es gibt welche für Arrays. Arrays meiden... frag mich wer dir den Humbug erzählt hat.
 

age

Mitglied
Ich denke, "Arrays meiden" bezog sich darauf, dass man Collections verwenden sollte, wenn diese sich anbieten...
anstelle von neu erstellten Arrays mit mehr Kapazität oder ähnlichem.
 
G

Gonzo17

Gast
Für einfache Dinge nutze ich auch Arrays. Wenn man weiß, wieviele Werte man speichern möchte und auch sonst nicht viel damit machen will, reicht das vollkommen aus. Außerdem ist es ja auch so, dass man desöfteren mal Arrays vorgeworfen bekommt statt irgendeiner Collection und dann muss man ja zwangsläufig auch damit arbeiten.
 

2AndAHalfBit

Aktives Mitglied
Flamethread - au ja ich will auch.

Sind wir doch mal ehrlich - Collections sind viel schöner, und auch einfach zu handhaben. Wer denkt jetzt das ich mich auf die Seite von Collections stelle?

Falsch, tue ich nicht.

Denn Du kannst immer wieder in die Situation kommen, Array verwenden zu müssen (etwa wenn Du eine externe Methode z.B. eine Dienstleistung aus einem Webservice) verwenden musst und die Methode nur mit Arraywerten funktioniert.

Office Integration ist da ein schönes Beispiel.

Collections machen Quellcode übersichtlicher, und damit besser wartbar und weiterentwickelbar, erhöhen also die Qualität. Trotzdem wer meint, einen Bogen um Arrays machen zu können, lebt in einer unwirklichen Welt.

Mein Tipp: Eignet euch das Knownhow an beides einsetzen zu können und entscheidet im Einzelfall welches die bessere Lösung ist.

So, Flame ende.

Und viele Grüße noch...
 
S

Spacerat

Gast
Da lass ich mich nicht Lumpen...
Alles macht irgendwo immer Sinn, sonst gäbe es solche Konstrukte nicht seien es Singletons, Arrays oder gar Reflection. Bei jedem dieser Dinge steht irgend wo zu lesen, dass man es meiden sollte, aber diese Möglichkeiten wurden mit Sicherheit nicht nur für weniger gute Programmierer in der API gelassen. Alles andere wäre vermessen zu sagen, wenn es sogar die, die und Java bescheren exessiv verwenden. Arrays z.B. für einen recht geniale Art von Object-Reuse bei BufferedImage usw. Meines erachtens sind nämlich die, die solch' vorgelegte Sätze schlicht runterbeten ohne sich jemals weder einen Kopf darum gemacht zu haben noch es Begründen zu können, die weit aus schlechteren Entwickler. Die nehmen dann auch Aussagen wie "einzelne Enumelemente seien Singletons" einfach so hin, obwohl das absoluter Quatsch ist. Dass aber ist schon wieder OT.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Objekte in einem Array speichern Java Basics - Anfänger-Themen 1
T OOP Objekte erzeugen und in einem Array ausgeben. Java Basics - Anfänger-Themen 2
J Mehrere Objekte in einem Array Java Basics - Anfänger-Themen 5
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
N Welche Objekte kann man zu einem Set hinzufügen Java Basics - Anfänger-Themen 4
tuc Erste Schritte verschiedene objekte in einem feld speichern Java Basics - Anfänger-Themen 4
W OOP Objekte in einem Objekt Java Basics - Anfänger-Themen 2
L Objekte aus einem void in anderen voids verwenden Java Basics - Anfänger-Themen 8
D OOP Objekte in einem Feld ablegen Java Basics - Anfänger-Themen 7
S Mehrere Objekte einem Objekt zuordnen Java Basics - Anfänger-Themen 3
W Viele Objekte mit einem Konstrukor erzeugen Java Basics - Anfänger-Themen 10
J Mehrere Objekte in einem JFrame darstellen Java Basics - Anfänger-Themen 6
M Integer Objekte nach Größe in einem Vector sortieren. Java Basics - Anfänger-Themen 2
S Zwei objekte zu einem machen Java Basics - Anfänger-Themen 4
I Zapier -> wie werden Objekte gespeichert? Java Basics - Anfänger-Themen 10
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
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
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
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
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
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
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
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
R Objekte aus Array als String + kommasepariert speichern Java Basics - Anfänger-Themen 12
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
PaperHat Objekte in Array vergleichen Java Basics - Anfänger-Themen 9
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
PaperHat Programmieraufgabe - Objekte in Objekten Java Basics - Anfänger-Themen 2
E Methode mit Parametern um Objekte zu übergeben Java Basics - Anfänger-Themen 4
V Collections Objekte einer ArrayList in der main() ausgeben Java Basics - Anfänger-Themen 9
T Klassen Klassenübergreifende Objekte erstellen lassen Java Basics - Anfänger-Themen 5
A Objekte verknüpfen Java Basics - Anfänger-Themen 2
M Objekte mit einer Schleife mehrmals erzeugen Java Basics - Anfänger-Themen 17
B Klassen Alle Unter-Objekte durchlaufen in der Hauptklasse Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
S Zählen der Zeiger auf Objekte Java Basics - Anfänger-Themen 35
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
B Erste Schritte Objekte von JFrame der Fenstergröße anpassen Java Basics - Anfänger-Themen 3
M Klassen und Objekte Java Basics - Anfänger-Themen 2
J Objekte und Abstrakte Klassen Java Basics - Anfänger-Themen 2
J Array Objekte einer Klasse zuordnen Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben