[JAVA] Linked HashMap référencé dans l'ordre d'insertion et son exemple d'utilisation

En parlant de carte tout le temps. ..

Map<key, value> map = new HashMap()<>;

Je savais seulement. Cependant, il existe quelque chose qui s'appelle LinkedHashMap </ b>!

Alors, comment l'utiliser.

Qu'est-ce que LinkedHashMap?

C'est la meilleure carte qui conserve l'ordre d'insertion </ b>.

Comme scène à utiliser ・ Je souhaite organiser dans l'ordre d'insertion ・ Organisez-vous dans un ordre que les humains peuvent comprendre, mais pas les ordinateurs.

Je vais vous présenter la scène de.

Contenu de l'échantillon

Ceci est un exemple pour sélectionner et afficher plusieurs préfectures dans lesquelles vous souhaitez vous rendre </ b>.

Souvent «À Hokkaido au nord et à Okinawa au sud» Mais fondamentalement, ils s'alignent du nord au sud. .. ..

Sous forme de liste · Hokkaido · Préfecture de Miyagi · Tokyo ・ Préfecture d'Osaka ・ Préfecture d'Aichi · Préfecture de Fukuoka Mettre en place.

Insérez dans l'ordre depuis le nord comme décrit ci-dessus.

Pour HashMap

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        
        //Liste qui contient la préfecture pressée
        List<String> prefectureClickedList = new ArrayList();
        //Liste des préfectures Carte
        Map<String, Boolean> prefectureMap = new HashMap();
//        Map<String, Boolean> prefectureMap = new LinkedHashMap();
        {
            //Insérer depuis le nord
            prefectureMap.put("Hokkaido", false);
            prefectureMap.put("Préfecture de Miyagi", false);
            prefectureMap.put("Tokyo", false);
            prefectureMap.put("Préfecture d'Osaka", false);
            prefectureMap.put("Préfecture d'Aichi", false);    
            prefectureMap.put("Préfecture de Fukuoka", false);
        }
        
        //Processus de pressage (dans un ordre différent)
        prefectureMap.put("Préfecture de Fukuoka", true);
        prefectureMap.put("Préfecture d'Osaka", true);
        prefectureMap.put("Tokyo", true);
        prefectureMap.put("Hokkaido", true);
        
        //Ajouter à la préfectureClickedList
        for(String prefecture: prefectureMap.keySet()) {
            Boolean bool = prefectureMap.get(prefecture);
            if(bool){
                prefectureClickedList.add(prefecture);
            }
        }
        
        //Chaîne de sortie
        String outPrefecture = new String();
        
        //Milieu"・"Mettre en"
        for(String clickedPref : prefectureClickedList) {
            outPrefecture = outPrefecture + clickedPref + "・";
        }
        outPrefecture = outPrefecture.substring(0, outPrefecture.length() -1);
        
        System.out.println("Préfecture où vous souhaitez vous rendre:" + outPrefecture);
        
    }
}

Résultat de sortie

Préfectures où vous souhaitez vous rendre: Hokkaido, Osaka, Tokyo, Fukuoka

Eh bien, je veux changer l'ordre d'Osaka et de Tokyo! !! Ww

Pour LinkedHashMap


import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        
        //Liste qui contient la préfecture pressée
        List<String> prefectureClickedList = new ArrayList();
        //Liste des préfectures Carte
//        Map<String, Boolean> prefectureMap = new HashMap();
        Map<String, Boolean> prefectureMap = new LinkedHashMap();
        {
            //Insérer depuis le nord
            prefectureMap.put("Hokkaido", false);
            prefectureMap.put("Préfecture de Miyagi", false);
            prefectureMap.put("Tokyo", false);
            prefectureMap.put("Préfecture d'Osaka", false);
            prefectureMap.put("Préfecture d'Aichi", false);    
            prefectureMap.put("Préfecture de Fukuoka", false);
        }
        
        //Processus de pressage (dans un ordre différent)
        prefectureMap.put("Tokyo", true);
        prefectureMap.put("Préfecture de Fukuoka", true);
        prefectureMap.put("Préfecture d'Osaka", true);
        prefectureMap.put("Hokkaido", true);
        
        //Ajouter à la préfectureClickedList
        for(String prefecture: prefectureMap.keySet()) {
            Boolean bool = prefectureMap.get(prefecture);
            if(bool){
                prefectureClickedList.add(prefecture);
            }
        }
        
        //Chaîne de sortie
        String outPrefecture = new String();
        
        //Milieu"・"Mettre en"
        for(String clickedPref : prefectureClickedList) {
            outPrefecture = outPrefecture + clickedPref + "・";
        }
        outPrefecture = outPrefecture.substring(0, outPrefecture.length() -1);
        
        System.out.println("Préfecture où vous souhaitez vous rendre:" + outPrefecture);
        
    }
}

Résultat de sortie

Préfectures où vous souhaitez vous rendre: Hokkaido, Tokyo, Osaka, Fukuoka

Ouaip. Il n'y a aucun sentiment d'inconfort.

Plus haut et plus haut!

Résumé

・ Ordre des préfectures: du nord au sud ・ Ordre de lavage: laver, rincer, déshydrater ・ Quatre saisons: printemps, été, automne, hiver ・ MS avec Char: Zaku, Zugok, (Rickdom), Gergugu, Ziong. ..

Celles-ci sont évidentes pour les humains à première vue.

Vérifiez la latitude et la longitude de Hokkaido ainsi que la latitude et la longitude de Fukuoka et organisez-les par ordre du nord. .. Vous pouvez le faire, mais J'ai pu y faire face en les mettant dans ordre prédéterminé </ b>.

à la fin

Pourquoi ne connaissais-je pas une si merveilleuse carte de hachage liée? .. p4.jpg Parce que je suis un petit garçon </ b>