[Java 8] Sortiermethode in alphabetischer Reihenfolge und Reihenfolge der Zeichenkettenlänge, die für Codierungstests verwendet werden kann

Hintergrund

Vor kurzem habe ich den WEB-Codierungstest für Jobwechselaktivitäten abgelehnt. Ich übe bei paiza.io, weil ich denke, ich muss mich daran gewöhnen. Wenn Sie zu beschäftigt sind, um es zu lösen, werden Sie die Quelle zu einem späteren Zeitpunkt sehen und den verdammten Code in Massenproduktion produzieren, der Ihnen übel wird.

Dieses Mal werde ich die Sortiermethode nach dem Speichern in List zusammenfassen.

Betriebsumgebung

java.util.Comparator;Stellen Sie sich vor, Sie importieren.



# Alphabetischer Reihenfolge

```java
List<String> list = Arrays.asList("ABC", "DEFGH", "IJKL", "abc", "defgh", "ijkl");

//Alphabetisch aufsteigend (ohne Berücksichtigung der Groß- und Kleinschreibung)
//Ausgabeergebnis: ABC,abc,DEFGH,defgh,IJKL,ijkl
list.sort(String.CASE_INSENSITIVE_ORDER);

//Absteigende alphabetische Reihenfolge (Groß- und Kleinschreibung wird nicht berücksichtigt)
//Ausgabeergebnis: IJKL,ijkl,DEFGH,defgh,ABC,abc
list.sort(String.CASE_INSENSITIVE_ORDER.reversed());

//Aufsteigende alphabetische Reihenfolge (von oben nach unten unterschieden)
//Ausgabeergebnis: ABC,DEFGH,IJKL,abc,defgh,ijkl
list.sort(Comparator.naturalOrder());

//Absteigende alphabetische Reihenfolge (Groß- und Kleinschreibung)
//Ausgabeergebnis: ijkl,defgh,abc,IJKL,DEFGH,ABC
list.sort(Comparator.reverseOrder());

Reihenfolge der Zeichenkettenlänge

List<String> list = Arrays.asList("ABC", "DEFGH", "IJKL", "abc", "defgh", "ijkl");

//Aufsteigende Reihenfolge der Zeichenkettenlänge
//Ausgabeergebnis: ABC,abc,IJKL,ijkl,DEFGH,defgh
list.sort(Comparator.comparingInt(String::length));

//Absteigende Reihenfolge der Stringlänge
//Ausgabeergebnis: DEFGH,defgh,IJKL,ijkl,ABC,abc
list.sort(Comparator.comparingInt(String::length).reversed());

Bonus

Zeichenkettenlänge → In alphabetischer Reihenfolge sortieren

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

So sortieren Sie Integer.

List<Integer> list = Arrays.asList(1, 3, 2);

//aufsteigende Reihenfolge
Collections.sort(list);

//absteigende Reihenfolge
Collections.reverse(list);

Am Ende

Es kann mit Lambda erreicht werden, aber ich persönlich bin der Meinung, dass Comparer besser lesbar ist, deshalb habe ich es weggelassen. Ich möchte schnell herauskommen, ohne so viel zu untersuchen.

Codierungstests erfordern oft diese Art der Sortierung, daher ist es eine gute Idee, sich daran zu erinnern! Dieser ist besser lesbar! Bitte lassen Sie uns wissen, wenn Sie Meinungen oder Fehler haben.

Recommended Posts

[Java 8] Sortiermethode in alphabetischer Reihenfolge und Reihenfolge der Zeichenkettenlänge, die für Codierungstests verwendet werden kann
Syntax- und Ausnahmebedingungen, die beim Vergleich mit null in Java verwendet werden können
Technologie-Auszug, mit dem EC-Sites in Java-Schulungen erstellt werden können
Schreiben einer Klasse, die in Java bestellt werden kann Ein kleines Standard-Memo
Scala String kann nicht nur für java.lang.String-Methoden verwendet werden
Praktische Tastenkombinationen für Eclipse
[Spring Data JPA] Kann die And-Bedingung in der automatisch implementierten Löschmethode verwendet werden?
Probleme, die leicht mit Java und JavaScript verwechselt werden können
Java (Super Beginner Edition), das in 180 Sekunden verstanden werden kann
Referenznotiz / In-Memory-LDAP-Server, der in Java eingebettet werden kann
Statisches Analysetool, das mit GitHub verwendet werden kann [Java-Version]
Beachten Sie, dass Systemeigenschaften einschließlich JAXBContext in Java11 nicht verwendet werden können
SwiftUI-Ansicht, die in Kombination mit anderen Frameworks verwendet werden kann
Eingabe / Ausgabe von Java-Dateien, die über den historischen Hintergrund verwendet werden können
[Rails] "Pry-Rails", die beim Speichern mit der create-Methode verwendet werden können
[Android Studio] Beschreibung, die kontinuierlich in die SQLite-Datenbank eingegeben werden kann [Java]
Tools zur Leistungsanalyse und Fehlerdiagnose, die mit OpenJDK verwendet werden können
Reihenfolge der Mitgliederbeschreibung in der Java-Codierungskonvention
Erstelle KeyStore und signiere apk in der Verarbeitung (Android-Modus) (Java kann mit einigen Änderungen verwendet werden)
[Java] Unterschied zwischen gleich und == in einer Zeichenfolge, die ein Referenztyp ist
Organisieren Sie Methoden, die mit StringUtils verwendet werden können
Warum der Klassenvergleich vom Typ Java String (==) nicht verwendet werden kann
Die Geschichte, dass der Port im Spring-Boot-Beispielprogramm unbrauchbar wird
Erstellt eine Umgebung, in der Kotlin mit Docker mit CLI kompiliert und mit Java ausgeführt werden kann
Die Geschichte, dass die vom Java-Konstruktor aufgerufene Methode zur Variableninitialisierung nicht überschrieben werden sollte