[JAVA] Extrait la valeur de HashMap et renvoie le résultat trié par valeur de valeur sous forme de liste.

Voici un résumé de la façon de trier la carte (HashMap) en utilisant la valeur en java. Ici, nous considérons une situation où vous souhaitez trier les valeurs de A_array en même temps en utilisant B_array. Puisqu'il trie la liste avec le type d'entrée de HashMap, il peut être utilisé avec d'autres cartes telles que TreeMap.

code

Solution.java


import java.util.*;

class Solution {
    public static void main(String[] args) {
        int[] A_array = {1,6,3,10,5};
        int[] B_array = {8,21,13,4,5};
        tryComperator(A_array, B_array);
    }
    public static void tryComperator(int[] a, int[] b){
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        //Stockez les éléments du tableau dans hashmap.
        for (int i = 0; i < a.length; i++){
            map.put(a[i], b[i]);
        }
        //Stockez chaque élément de Hashmap dans une liste.
        List<Map.Entry> mapValuesList = new ArrayList<Map.Entry>(map.entrySet());
        //Essayez de sortir mapValuesList.(10=Il semble qu'il soit sorti sous la forme de 4.)
        for (Map.Entry v: mapValuesList){
            System.out.println("map>> "+v+",key>> "+v.getKey()+"value>> "+v.getValue());
        }
        //Instancier la classe Comparator
        Comparator<Map.Entry> comparator = new Comparator<Map.Entry>() {
            public int compare(Map.Entry entry1, Map.Entry entry2) {
                return ((Integer) entry1.getValue()).compareTo((Integer) entry2.getValue());
            }
        };
        //Trier à l'aide du comparateur.
        Collections.sort(mapValuesList, comparator);
        //Sortie pour confirmation
        for (Map.Entry s : mapValuesList) {
            System.out.println(s);
        }
    }
}
production
map>> 1=8,key>> 1value>> 8
map>> 3=13,key>> 3value>> 13
map>> 5=5,key>> 5value>> 5
map>> 6=21,key>> 6value>> 21
map>> 10=4,key>> 10value>> 4
10=4
5=5
1=8
3=13
6=21

Il a été produit par ordre croissant de valeur.

Référence: http://kevin3sei.blog95.fc2.com/blog-entry-159.html

Recommended Posts

Extrait la valeur de HashMap et renvoie le résultat trié par valeur de valeur sous forme de liste.
Passez un argument à la méthode et recevez le résultat de l'opération comme valeur de retour
Afficher la valeur moyenne de l'évaluation sous forme d'étoile
La valeur est extraite du double hachage et sortie par le getter.
Exemple de programme qui renvoie la valeur de hachage d'un fichier en Java
Obtenez le chemin défini dans la classe Controller de Spring Boot sous forme de liste
Créez un formateur personnalisé pour Yellowfin et affichez le moins de la valeur numérique avec △ (triangle)
Je veux trouver la somme de contrôle MD5 d'un fichier en Java et obtenir le résultat sous forme de chaîne de caractères en notation hexadécimale.
[Java] Découpez une partie de la chaîne de caractères avec Matcher et des expressions régulières
Analyse statistique simple du montant monétaire à partir de la liste recherchée par le développement Mercari Java
Une revue du code utilisé par les rails débutants
ArrayList et le rôle de l'interface vu depuis List
[Rails] Volume qui affiche les favoris et une liste de favoris
Extraire un élément spécifique de la liste des objets
Je veux obtenir une liste du contenu d'un fichier zip et sa taille non compressée
Traitement de branche avec la valeur de retour de RestTemplate et le code d'état de ResponseEntity dans Spring Boot
Une application qui acquiert la valeur du capteur d'accélération par communication UDP entre C # et Android