[JAVA] À propos de la vitesse de récupération des valeurs depuis HashMap

J'ai vérifié la vitesse

Référence: https://qiita.com/kei2100/items/0ce97733c92fdcb9c5a9

J'avais l'habitude d'utiliser keySet () lors de la récupération d'une valeur de HashMap, mais j'ai entendu dire que l'utilisation de entrySet () était plus rapide, alors je l'ai vérifié.

java


import java.util.HashMap;
import java.util.Map.Entry;

public class HashmapentrySetAndkeySet {
	public static void main(String[] args) {

		HashMap<Integer,Integer> map = new HashMap<>();

		//Créer une carte
		for(int i=0; i<1000; i++){
			map.put(i,i);
		}

		//Essayez de sortir de deux manières
		//keySet()Méthode utilisant
		long start1 = System.currentTimeMillis();
		for(Integer key : map.keySet()){
			Integer value = map.get(key);
			//System.out.println(value);
		}
		long end1 = System.currentTimeMillis();
		System.out.println((end1-start1)+"ms");

		//entrySet()Méthode utilisant
		long start2 = System.currentTimeMillis();
		for(Entry<Integer, Integer> entry : map.entrySet()){
			Integer value = entry.getValue();
			//System.out.println(value);
		}
		long end2 = System.currentTimeMillis();
		System.out.println((end2-start2)+"ms");
	}
}

Avec la méthode d'utilisation de keySet () et la méthode d'utilisation de entrySet () pour remplacer 1000 HashMaps, il est environ 1 ms plus rapide d'utiliser entrySet () sur mon PC. La différence s'est élargie lorsque la sortie standard était utilisée.

Le problème, c'est que c'est difficile à lire. Prenez note afin que vous puissiez écrire en utilisant cette méthode à l'avenir.

Recommended Posts

À propos de la vitesse de récupération des valeurs depuis HashMap
[Android] Obtenez des clés et des valeurs aléatoires à partir de HashMap
À propos de la méthode
À propos des valeurs numériques
À propos du paquet
À propos de l'utilité des monades dans une perspective orientée objet
À propos du chargement et de l'initialisation des classes au démarrage de la JVM
[Remarque] Lorsque la vitesse d'accès à la page n'augmente pas
Parlez de passer par le chemin source lorsque delombok