[JAVA] So sortieren Sie eine Liste mit Comparator

In Java 8 organisieren wir die Sortiermethode von List.

Java 7 and below

Rückblick auf die Java 7-Ära

List<String> nameList = Arrays.asList("Takahashi", "Tanaka", "Suzuki");
Collections.sort(nameList);

Java 8 oder höher

Ab Java 8 wurde der Liste sort (Comparator) hinzugefügt, mit der Sie die Liste sortieren können.

nameList.sort(Comparator.comparingInt(String::length));

Nach mehreren Bedingungen sortieren (Zeichenkettenlänge-> alphabetische Reihenfolge). Sie können Sortierbedingungen hinzufügen, indem Sie thenComparing () verwenden.

nameList.sort(Comparator.comparingInt(String::length)
	.thenComparing(Comparator.naturalOrder()));

Mit der Einführung von Stream können Sie auch Listen mit sortierter Stream-Nummer erstellen.

List<String> sortedList = nameList.stream().sorted()
		.collect(Collectors.toList());

Mit Lambda

Nach Stringlänge sortieren.

List<String> sortedList = nameList.stream().sorted((s1, s2) -> s1.length() - s2.length())
		.collect(Collectors.toList());

Alphabetisch sortieren.

List<String> sortedList = nameList.stream().sorted((s1, s2) -> s1.compareTo(s2))
		.collect(Collectors.toList())

Verwendung des Komparators

Nach Stringlänge sortieren.

List<String> sortedList = nameList.stream().sorted(
		Comparator.comparingInt(String::length)).collect(Collectors.toList());

Alphabetisch sortieren.

List<String> sortedList = nameList.stream().sorted(
		Comparator.naturalOrder()).collect(Collectors.toList())

Sortieren mehrerer Bedingungen mit Comparator

Stringlänge-> In alphabetischer Reihenfolge sortieren. Sie können Sortierbedingungen hinzufügen, indem Sie thenComparing () verwenden.

List<String> sortedList = nameList.stream().sorted(
		Comparator.comparingInt(String::length)
		.thenComparing(Comparator.naturalOrder())).collect(Collectors.toList());

Sortieren der Objektliste mit Comparator

List<Person> sortedList = personList.stream().sorted(new Comparator<Person>(){

	@Override
	public int compare(Person o1, Person o2) {
		return o1.getName().compareTo(o2.getName());
	}
			
}).collect(Collectors.toList());

Recommended Posts

So sortieren Sie eine Liste mit Comparator
So führen Sie einen Vertrag mit web3j aus
So sortieren Sie eine Liste von SelectItems
[Rails] So erstellen Sie ein Diagramm mit lazy_high_charts
So löschen Sie einen Controller usw. mit einem Befehl
[Ethereum] So führen Sie einen Vertrag mit web3j-Teil 2 aus
So generieren Sie einen Primärschlüssel mit @GeneratedValue
java: Wie schreibe ich eine generische Typliste? [Hinweis]
Wie hinterlasse ich einen Kommentar?
So löschen Sie benutzerdefinierte Adapterelemente mithilfe eines benutzerdefinierten Modells
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
So fügen Sie ein Video ein
So erstellen Sie eine Methode
So autorisieren Sie mit graphql-ruby
So geben Sie Array-Werte ohne Verwendung einer for-Anweisung aus
So verbinden Sie eine Tabelle ohne DBFlute und SQL
So registrieren Sie sich mit Tomcat als Kunde in Square
So erstellen Sie einen Java-Container
Wie unterschreibe ich Minecraft MOD?
So erstellen Sie einen JDBC-Treiber
Liste der Java-Objekte sortieren
[Swift] So senden Sie eine Benachrichtigung
So erstellen Sie einen Begrüßungsbildschirm
So erstellen Sie ein Jenkins-Plug-In
[Java] Verwendung von List [ArrayList]
Wie erstelle ich ein Maven-Projekt?
So erstellen Sie ein Java-Array
So erstellen Sie CloudStack mit Docker
So erstellen Sie eine JAR-Datei und eine War-Datei mit dem Befehl jar
So erstellen Sie mit SPRING INITIALIZR einen Hinadan für ein Spring Boot-Projekt
[Rails 6] So erstellen Sie mit cocoon einen dynamischen Formular-Eingabebildschirm
So geben Sie eine Liste von Zeichenfolgen in JSF als durch Kommas getrennte Zeichenfolgen aus
Wie man einen revolutionären Diamanten mit Java für Aussage macht wwww
So erstellen Sie eine Java-Kalenderzusammenfassung
Warum ArrayList der Liste zuweisen?
Ein Memorandum zur Verwendung von Eclipse
[Rails] So laden Sie Bilder mit Carrierwave hoch
[Basic] So schreiben Sie ein Dockerfile Selbstlernend ②
So fügen Sie ein Video in Rails ein
[Java] Hinzufügen von Daten zur Liste (add, addAll)
[Java] So berechnen Sie das Alter mit LocalDate
So fügen Sie einen neuen Hash / Array hinzu
[Einführung in Java] So schreiben Sie ein Java-Programm
So erstellen Sie ein Maven-Repository für 2020
Wie erstelle ich einen Discord Bot (Java)
[Swift5] So erstellen Sie einen Begrüßungsbildschirm
[Rails] So erstellen Sie eine Teilvorlage
[Swift5] So implementieren Sie Animationen mit "lottie-ios"
So implementieren Sie die Image-Veröffentlichung mithilfe von Schienen
So veröffentlichen Sie eine Bibliothek in jCenter