[Java 8] Méthode de tri par ordre alphabétique et par ordre de longueur de chaîne de caractères pouvant être utilisée dans les tests de codage

Contexte

Récemment, j'ai refusé le test de codage WEB pour les activités de changement d'emploi. Je pratique sur paiza.io parce que je pense que je dois m'y habituer. Si vous êtes trop occupé pour le résoudre, vous verrez la source à une date ultérieure et produirez en masse le putain de code qui vous donne la nausée.

Cette fois, je vais résumer la méthode de tri après stockage dans List .

Environnement d'exploitation

java.util.Comparator;Imaginez que vous importez.



# Ordre alphabétique

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

//Alphabétique croissant (insensible à la casse)
//Résultat de sortie: ABC,abc,DEFGH,defgh,IJKL,ijkl
list.sort(String.CASE_INSENSITIVE_ORDER);

//Ordre alphabétique décroissant (insensible à la casse)
//Résultat de sortie: IJKL,ijkl,DEFGH,defgh,ABC,abc
list.sort(String.CASE_INSENSITIVE_ORDER.reversed());

//Ordre alphabétique croissant (distingué du haut vers le bas)
//Résultat de sortie: ABC,DEFGH,IJKL,abc,defgh,ijkl
list.sort(Comparator.naturalOrder());

//Ordre alphabétique décroissant (sensible aux majuscules et minuscules)
//Résultat de sortie: ijkl,defgh,abc,IJKL,DEFGH,ABC
list.sort(Comparator.reverseOrder());

Ordre de longueur des chaînes de caractères

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

//Ordre croissant de la longueur de la chaîne de caractères
//Résultat de sortie: ABC,abc,IJKL,ijkl,DEFGH,defgh
list.sort(Comparator.comparingInt(String::length));

//Ordre décroissant de la longueur de la chaîne
//Résultat de sortie: DEFGH,defgh,IJKL,ijkl,ABC,abc
list.sort(Comparator.comparingInt(String::length).reversed());

prime

Longueur de la chaîne de caractères → Trier par ordre alphabétique

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

Comment trier Integer.

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

//ordre croissant
Collections.sort(list);

//Ordre décroissant
Collections.reverse(list);

À la fin

Cela peut être réalisé avec Lambda, mais je pense personnellement que Comparer est plus lisible, donc je l'ai omis. Je veux sortir rapidement sans trop enquêter.

Les tests de codage nécessitent souvent ce type de tri, c'est donc une bonne idée à retenir! Celui-ci est plus lisible! Veuillez nous faire savoir si vous avez des opinions ou des erreurs.

Recommended Posts

[Java 8] Méthode de tri par ordre alphabétique et par ordre de longueur de chaîne de caractères pouvant être utilisée dans les tests de codage
Syntaxe et conditions d'occurrence d'exception pouvant être utilisées lors de la comparaison avec null en Java
Extrait technologique pouvant être utilisé pour créer des sites EC dans la formation Java
Ecrire une classe qui peut être ordonnée en Java Un petit mémo standard
Scala String peut être utilisé pour plus que de simples méthodes java.lang.String
Touches de raccourci pratiques pour Eclipse
[Spring Data JPA] La condition And peut-elle être utilisée dans la méthode de suppression implémentée automatiquement?
Problèmes facilement confondus avec Java et JavaScript
Java (édition super débutante) compréhensible en 180 secondes
Mémo de référence / serveur LDAP en mémoire pouvant être intégré à Java
Outil d'analyse statique pouvant être utilisé avec GitHub [version Java]
Notez que les propriétés système, y compris JAXBContext, ne peuvent pas être utilisées dans Java11
SwiftUI View qui peut être utilisé en combinaison avec d'autres frameworks
Traitement d'entrée / sortie de fichier Java pouvant être utilisé via l'historique
[Rails] "Pry-rails" qui peuvent être utilisés lors de l'enregistrement avec la méthode create
[Android Studio] Description qui peut être saisie en continu dans la base de données SQLite [Java]
Outils d'analyse des performances et de diagnostic des pannes utilisables avec OpenJDK
Ordre de description des membres dans la convention de codage Java
Créer KeyStore et signer apk en cours de traitement (mode Android) (java peut être utilisé avec quelques modifications)
[Java] Différence entre equals et == dans une chaîne de caractères qui est un type de référence
Organiser les méthodes qui peuvent être utilisées avec StringUtils
Pourquoi la comparaison de classe de type chaîne Java (==) ne peut pas être utilisée
L'histoire du port devenant inutilisable dans l'exemple de programme Spring Boot
Création d'un environnement où kotlin peut être compilé avec cli avec docker et exécuté avec java
L'histoire selon laquelle la méthode d'initialisation de variable appelée par le constructeur Java ne doit pas être remplacée