Maison Java Javacommencer Introduction à cinq méthodes de parcours d'une carte

Introduction à cinq méthodes de parcours d'une carte

Oct 13, 2020 pm 05:10 PM
map

Introduction à cinq méthodes de parcours d'une carte

Le parcours de collection de cartes est souvent utilisé dans le développement quotidien. Les différences entre plusieurs méthodes de parcours sont présentées ci-dessous.

(Tutoriel recommandé : cours Java )

1. Méthode d'écriture Iterator+entrySet [recommandée JDK8 et versions antérieures], Map.Entry est l'interface interne de l'interface Map. , obtient l'itérateur, puis supprime tour à tour le Map.Entry

        Iterator<Map.Entry<Integer,String>> iterator=map.entrySet().iterator();
        while(iterator.hasNext()){
            Map.Entry<Integer,String> entry=iterator1.next();
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        }
Copier après la connexion

2 dans chaque itérateur + méthode d'écriture itérateur + keyset [non recommandé, vous ne pouvez obtenir que la clé, puis obtenir la valeur correspondante via. la clé, répétez le calcul]

        Iterator<Integer> iterator=map.keySet().iterator();
        while (iterator.hasNext()){
            Integer key=iterator.next();
            System.out.println(key);
            System.out.println(map.get(key));
        }
Copier après la connexion

3. méthode de traversée foreach [méthode d'écriture recommandée sous JDK8]

        for(Map.Entry<Integer,String> entry:map.entrySet()){
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        };
Copier après la connexion

4. méthode d'écriture lambda [méthode d'écriture recommandée pour JDK8, simple]

        map.forEach((key,value)->{
            System.out.println(key);
            System.out.println(value);
        });
Copier après la connexion

5. Stream traversal Map [pas JDK8] Méthode d'écriture recommandée, calcul répété]

        map.entrySet().stream().forEach((Map.Entry<Integer, String> entry) -> {
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        });
Copier après la connexion

S'il y a un traitement intermédiaire dans la collection Map, des opérations de filtrage peuvent être effectuées et la traversée en streaming est également très pratique.

Recommandations associées : Tutoriel d'introduction à Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment Springboot lit-il les listes, les tableaux, les collections de cartes et les objets dans les fichiers YML ? Comment Springboot lit-il les listes, les tableaux, les collections de cartes et les objets dans les fichiers YML ? May 11, 2023 am 10:46 AM

application.yml définit la collection de listes. La première façon consiste à utiliser l'annotation @ConfigurationProperties pour obtenir toutes les valeurs de la collection de listes type:code:status:-200-300-400-500. le fichier de configuration. Ce qu'il faut noter ici, c'est que lors de la définition de la liste Collection, définissez d'abord un Bean de classe de configuration, puis utilisez l'annotation @ConfigurationProperties pour obtenir la valeur de la collection de liste. Nous expliquerons ici le rôle des annotations pertinentes. @Component remet la classe d'entité à la direction Spring @ConfigurationPropertie

Comment définir la carte du délai d'expiration en Java Comment définir la carte du délai d'expiration en Java May 04, 2023 am 10:13 AM

1. Contexte technique Dans le développement de projets réels, nous utilisons souvent des middlewares de mise en cache (tels que Redis, MemCache, etc.) pour nous aider à améliorer la disponibilité et la robustesse du système. Mais dans de nombreux cas, si le projet est relativement simple, il n’est pas nécessaire d’introduire spécifiquement un middleware tel que Redis pour augmenter la complexité du système afin d’utiliser la mise en cache. Java lui-même dispose-t-il donc de composants de mise en cache légers et utiles ? La réponse est bien sûr oui, et il existe plusieurs solutions. Les solutions courantes incluent : ExpiringMap, LoadingCache et un packaging basé sur HashMap. 2. Effets techniques pour réaliser les fonctions courantes du cache, telles qu'une stratégie de suppression obsolète, l'échauffement des données de hotspot 3. ExpiringMap3.

Quels sont les moyens d'implémenter la sécurité des threads pour Map en Java ? Quels sont les moyens d'implémenter la sécurité des threads pour Map en Java ? Apr 19, 2023 pm 07:52 PM

Méthode 1. Utilisez HashtableMapashtable=newHashtable(); C'est la première chose à laquelle tout le monde pense, alors pourquoi est-il thread-safe ? Jetez ensuite un œil à son code source. Nous pouvons voir que nos méthodes couramment utilisées telles que put, get et containKey sont toutes synchrones, elles sont donc thread-safe publicsynchronizedbooleancontainsKey(Objectkey){Entrytab[]=table;inthash=key. hashCode( );intindex=(hash&0x7FFFFFFF)%tab.leng

Comment convertir des objets en cartes en Java – en utilisant BeanMap Comment convertir des objets en cartes en Java – en utilisant BeanMap May 08, 2023 pm 03:49 PM

Il existe de nombreuses façons de convertir des javabeans et des cartes, telles que : 1. Convertir des beans en json via ObjectMapper, puis convertir json en map. Cependant, cette méthode est compliquée et inefficace. Après les tests, 10 000 beans ont été convertis en boucle. ça prend 12 secondes ! ! ! Non recommandé.2. Obtenez les attributs et les valeurs de la classe du bean via la réflexion Java, puis convertissez-les en paires clé-valeur correspondant à la carte. Cette méthode est la deuxième meilleure, mais elle est un peu plus gênante. 3. Grâce à la méthode net.sf.cglib.beans.BeanMap dans la classe, cette méthode est extrêmement efficace. La différence entre elle et la deuxième méthode est qu'en raison de l'utilisation du cache, le bean doit être initialisé lorsqu'il est utilisé pour la première fois. créé.

Optimiser les performances de la carte linguistique Go Optimiser les performances de la carte linguistique Go Mar 23, 2024 pm 12:06 PM

Optimisation des performances du langage Go map Dans le langage Go, map est une structure de données très couramment utilisée, utilisée pour stocker une collection de paires clé-valeur. Toutefois, les performances de la carte peuvent être affectées lors du traitement de grandes quantités de données. Afin d'améliorer les performances de la carte, nous pouvons prendre certaines mesures d'optimisation pour réduire la complexité temporelle des opérations cartographiques, améliorant ainsi l'efficacité d'exécution du programme. 1. Pré-allouer la capacité de la carte. Lors de la création d'une carte, nous pouvons réduire le nombre d'extensions de carte et améliorer les performances du programme en pré-attribuant la capacité. Généralement, nous

Comment configurer et utiliser le module map sur le serveur Nginx Comment configurer et utiliser le module map sur le serveur Nginx May 21, 2023 pm 05:14 PM

L'instruction map est fournie par le module ngx_http_map_module. Par défaut, nginx charge ce module sauf si artificiellement --without-http_map_module. Le module ngx_http_map_module peut créer des variables dont les valeurs sont associées aux valeurs d'autres variables. Permet la classification ou le mappage simultané de plusieurs valeurs​​à plusieurs valeurs différentes​​et le stockage dans une variable. La directive map est utilisée pour créer une variable, mais n'effectue l'opération de mappage de vue que lorsque la variable est acceptée. En traitant des requêtes qui ne font pas référence à des variables, il n'y a aucune pénalité de performances pour le module. 1.ngx_http_map_module syntaxe de la carte de description des instructions du module

Comment obtenir des éléments de carte en langage Go Comment obtenir des éléments de carte en langage Go Jan 16, 2023 am 10:38 AM

Deux méthodes : 1. Utilisez l'instruction "for range" pour parcourir la carte afin d'obtenir tous les éléments, avec la syntaxe "for key, value := range mapName{...}". 2. Utilisez la clé comme index pour obtenir l'élément spécifié, la syntaxe est "value, isOk := mapName[key]" ; renvoie deux valeurs de retour, la première valeur de retour est la valeur obtenue, si la clé n'existe pas, renvoie Valeur vide, le deuxième paramètre est une valeur booléenne, indiquant si la valeur est obtenue avec succès.

Choses à noter lorsque les fonctions Golang reçoivent des paramètres de carte Choses à noter lorsque les fonctions Golang reçoivent des paramètres de carte Jun 04, 2024 am 10:31 AM

Lors du passage d'une carte à une fonction dans Go, une copie sera créée par défaut et les modifications apportées à la copie n'affecteront pas la carte d'origine. Si vous devez modifier la carte originale, vous pouvez la passer via un pointeur. Les cartes vides doivent être manipulées avec précaution, car ce sont techniquement des pointeurs nuls, et passer une carte vide à une fonction qui attend une carte non vide provoquera une erreur.

See all articles