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