La différence entre HashMap et LinkedHashMap en Java
Nov 18, 2019 pm 02:19 PMHashMap
hashMap est la carte la plus couramment utilisée. Elle stocke les données en fonction de la valeur HashCode de la clé. Sa valeur peut être obtenue. directement selon la clé. La vitesse d'accès est très rapide et l'ordre lors du parcours est complètement aléatoire. HashMap n'autorise qu'une seule clé à être nulle et permet à plusieurs valeurs d'être nulles.
Caractéristiques?: Complètement aléatoire
Avantages?: Accès aléatoire, acquisition rapide de la valeur
Inconvénients?: Plusieurs threads écrivant HashMap en même temps peuvent provoquer une incohérence des données Si une synchronisation est requise, utilisez la méthode Collection的synchronizedMap
ou utilisez le ConcurrentHashMap
LinkedHashMap
LinkedHashMap est une sous-classe de HashMap, qui enregistre l'ordre d'insertion des enregistrements. Il est différent du. parcours aléatoire de HashMap Lors du parcours avec un itérateur, l'enregistrement obtenu en premier doit être inséré en premier, similaire à OrderedDict en python.
La vitesse de parcours sera plus lente que celle de HashMap, mais il y a une exception?: lorsque la capacité de HashMap est grande et que les données réelles sont très petites, car la vitesse de parcours de HashMap est liée à sa capacité, tandis que la la vitesse de parcours de LinkedHashMap est uniquement liée à la quantité réelle de données associées.
TreeMap
TreeMap implémente l'interface SortMap et peut trier les enregistrements qu'il enregistre par clé. La valeur par défaut est l'ordre croissant par clé. Vous pouvez également spécifier un comparateur de tri. parcourir le TreeMap Quand , les enregistrements obtenus sont triés par clé.
Sélectionner une carte en fonction des données
Généralement, ce que nous utilisons le plus est HashMap Pour insérer, supprimer et localiser des éléments dans Map, HashMap est le meilleur choix. Mais si vous souhaitez parcourir les clés dans un ordre naturel ou personnalisé, TreeMap sera meilleur. Si vous avez besoin que l'ordre de sortie soit le même que celui de l'entrée, vous pouvez utiliser LinkedHashMap, qui peut également être organisé par ordre de lecture.
Tutoriel recommandé?: Tutoriel 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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Le fichier SetfitS.JSON est situé dans le chemin de niveau utilisateur ou au niveau de l'espace de travail et est utilisé pour personnaliser les paramètres VScode. 1. Chemin de niveau utilisateur: Windows est C: \ Users \\ AppData \ Roaming \ Code \ User \ Settings.json, macOS est /users//library/applicationsupport/code/user/settings.json, Linux est /home//.config/code/user/settings.json; 2. Chemin au niveau de l'espace de travail: .vscode / Paramètres dans le répertoire racine du projet

Pour gérer correctement les transactions JDBC, vous devez d'abord désactiver le mode de validation automatique, puis effectuer plusieurs opérations, et enfin vous engager ou randonner en fonction des résultats; 1. Appelez Conn.SetAutoCommit (false) pour démarrer la transaction; 2. Exécuter plusieurs opérations SQL, telles que l'insertion et la mise à jour; 3. Appelez Conn.Commit () Si toutes les opérations sont réussies, et appelez Conn.Rollback () Si une exception se produit pour garantir la cohérence des données; Dans le même temps, les ressources TRY-With doivent être utilisées pour gérer les ressources, gérer correctement les exceptions et cl?turer les connexions pour éviter la fuite de connexion; De plus, il est recommandé d'utiliser des pools de connexion et de définir des points de sauvegarde pour réaliser un retour en arrière partiel, et de maintenir les transactions aussi courtes que possible pour améliorer les performances.

itertools.combinations est utilisé pour générer toutes les combinaisons non répétitives (ordre hors de propos) qui sélectionne un nombre spécifié d'éléments de l'objet itérable. Son utilisation comprend: 1. Sélectionnez 2 combinaisons d'éléments dans la liste, telles que ('a', 'b'), ('a', 'c'), etc., pour éviter l'ordre répété; 2. Prenez 3 combinaisons de caractères de cha?nes, telles que "ABC" et "ABD", qui conviennent à la génération de sous-séquence; 3. Trouvez les combinaisons où la somme de deux nombres est égale à la valeur cible, telle que 1 5 = 6, simplifiez la logique de boucle double; La différence entre les combinaisons et l'arrangement réside dans la question de savoir si l'ordre est important, les combinaisons considèrent AB et BA comme les mêmes, tandis que les permutations sont considérées comme différentes;

DépendanceInjection (DI) IsadesignPatternwhereBjectSeveveveltency dexternal, promotionnloosecouplingAndreasiestingthroughroughConstructor, seter, orfieldInjection.2.springframeworkusesannotations like @ composant, @ service et @ autowiredwithjava-baskusecondotations like @ composant, @ service et @ autowiredwithjava-basesConfitations lik

Il existe quatre fa?ons principales d'obtenir BTC: 1. Enregistrez-vous et échangez-les avec une monnaie fiduciaire ou d'autres actifs numériques via des plateformes de trading centralisées telles que Binance, OK, Huobi et Gate.io; 2. Participer aux plateformes P2P pour échanger directement avec les particuliers et faire attention aux risques de crédit de la contrepartie; 3. Fournir des biens ou des services pour accepter BTC comme paiement; 4. Participez à Airdrops, aux compétitions et autres activités de récompense de la plate-forme pour obtenir une petite quantité de BTC. La différence de base entre BTC et la monnaie numérique est: 1. BTC est un type de monnaie numérique, qui appartient à une relation de genre; 2. BTC adopte un mécanisme de preuve de travail (POW), tandis que d'autres devises numériques peuvent utiliser diverses technologies telles que la preuve de la participation (POS); 3. BTC souligne la fonction de stockage de valeur de "l'or numérique", et d'autres devises numériques peuvent se concentrer sur l'efficacité de paie

Le luminaire est une fonction utilisée pour fournir un environnement prédéfini ou des données pour les tests. 1. Utilisez le décorateur @ pytest.fixture pour définir le luminaire; 2. Injection de fixation sous forme de paramètre dans la fonction de test; 3. Exécutez la configuration avant le rendement, puis le démolition; 4. Contr?le Portée à travers les paramètres de portée, tels que la fonction, le module, etc.; 5. Placez le luminaire partagé dans Conftest.py pour atteindre le partage croisé, améliorant ainsi la maintenabilité et la réutilisabilité des tests.

Utilisez des classes dans le package Java.Time pour remplacer les anciennes classes de date et de calendrier; 2. Obtenez la date et l'heure actuelles via LocalDate, LocalDateTime et Localtime; 3. Créez une date et une heure spécifiques en utilisant la méthode OF (); 4. Utilisez la méthode plus / moins pour augmenter et diminuer le temps; 5. Utilisez ZonedDateTime et ZoneID pour traiter le fuseau horaire; 6. Format et cha?nes de date d'analyse via DateTimeFormatter; 7. Utilisez instantanément pour être compatible avec les anciens types de dates si nécessaire; Le traitement des dattes dans le Java moderne devrait donner la priorité à l'utilisation de Java.timeapi, qui fournit clairement, immuable et linéaire

Les capacités de ?écriture, runany?
