Array-Liste alphabetisch sortieren in BlueJ?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Schau dir die mit Java 8 eingeführten Streams an.

https://mkyong.com/java8/java-8-how-to-sort-list-with-stream-sorted/

Damit erreichst du genau, was du machen willst, in nur einer Zeile ;-)

Interessant wird es bei Punkt 2 für dich.

Woher ich das weiß:Berufserfahrung – Freiberuflicher Java Entwickler mit 10 Jahren Erfahrung

INeedHelp275 
Beitragsersteller
 12.05.2020, 13:08

Ok danke, das werde ich mir jetzt mal angucken :)

0
Xearox  12.05.2020, 13:10
@INeedHelp275

Der Vorteil bei den Streams, du kannst am Schluss einfach

.collect(Collectors.toList())

machen, um ganz einfach eine sortierte Liste zurück zu bekommen.

1
Xearox  13.05.2020, 12:01
@INeedHelp275

Ich habe dir hier mal was vorbereitet. Konnte gestern nichts machen, da ich nicht zu Hause war.

public List<Titel> gibAlleTitelNachNameSortiert(boolean absteigend) {
		return titelAufCD
				.values()
				.stream()
				.sorted((t1,t2) -> {
					return (absteigend ? t2.getName().compareTo(t1.getName()) : t1.getName().compareTo(t2.getName()));
				})
				.collect(Collectors.toList());
	}

Du kannst dir das hier auch nochmal anschauen, habe dir auf meinem GitLab Repo ein Projekt angelegt. https://gitlab.com/Xearox/cd-frage-gutefrage/-/blob/master/src/CD.java

Wenn du willst, kann ich die Main auch soweit fertig machen, dass man das Programm ausführen kann.

1
Xearox  13.05.2020, 12:05
@INeedHelp275

Mit meinem Code Snippet kannst du die Titel Namen auf und abwärts sortieren.

Dazu rufst du einfach auf

gibAlleTitelNachNameSortiert(false); // für aufwärts
gibAlleTitelNachNameSortiert(true); // für abwärts
1
INeedHelp275 
Beitragsersteller
 13.05.2020, 15:03
@Xearox

Vielen Dank :) Ich konnte das Problem lösen

0
INeedHelp275 
Beitragsersteller
 14.05.2020, 17:12
@Xearox

Ja, vielen Dank, dass hat mir extrem weiter geholfen :)

0
Xearox  14.05.2020, 17:27
@INeedHelp275

Das freut mich =) Bekomm ich dann auch den Stern? *lieb frag* :-) Du kannst mich auch als Freund hinzufügen, falls du mal öfters Hilfe brauchst!

0

Natürlich kann ein String größer als ein anderer sein. Nur muss man das in Java etwas umständlicher formulieren:

if ( cdSammlung[j].gibTitel().compareTo(cdSammlung[j+1].gibTitel()) > 0 )

(siehe Java-Referenz)


INeedHelp275 
Beitragsersteller
 12.05.2020, 13:43

Danke!!! Es funktioniert :D

0