L'opérateur de comparaison était erroné (corrigé)
・ Java9 · Éclipse
Je me demande lequel est le plus rapide si je mets de côté ce qui est le mieux et le tourne avec la déclaration étendue.
ForEaerVs.java
public class ForEaerVs {
public static void main(String[] argS) {
Integer mm;
//Tableau
Integer[] arry = new Integer[1000000000];
for (Integer i = 0 ; i < 1000000000; i++) {
Integer arryInt = i;
arry[i] = arryInt;
}
long staetTimeArry = System.nanoTime();
for(Integer iA : arry) {
mm = iA;
}
long endTimeArry = System.nanoTime();
System.out.println("Vitesse de la matrice:" + (endTimeArry -staetTimeArry));
// List
List<Integer> list = new ArrayList<Integer>();
for (Integer j = 0 ; j < 1000000000; j++) {
Integer arryInt = j;
list.add(arryInt);
}
long staetTimeList = System.nanoTime();
for (Integer iL: list) {
mm = iL;
}
long endTimeList = System.nanoTime();
System.out.println("Vitesse de liste:" + (endTimeList -staetTimeList));
// HushMap
HashMap<Integer,Integer> hash = new HashMap<Integer,Integer>();
for (Integer k = 0 ; k < 1000000000; k++) {
Integer arryInt = k;
hash.put(k, arryInt);
}
long staetTimeHash = System.nanoTime();
for (Integer iH : hash.values()) {
mm = iH;
}
long endTimeHash = System.nanoTime();
System.out.println("Vitesse de hachage:" + (endTimeHash -staetTimeHash));
}
}
ForEaerVsResult.java
Vitesse d'arrangement: 4020600
Vitesse liste: 11350400
Vitesse de hachage: 18974400
Le résultat avec l'heure de création est le suivant
ForEaerVsPlusCreateResult.java
Vitesse d'arrangement: 35613700
Vitesse liste: 98473300
Vitesse de hachage: 121742700
Bien que chacun ait des usages différents, l'arrangement est-il si lent? </ s>
Adorez la génialité des aînés du tableau
Je l'ai aussi essayé avec Linked List
ForEaerVsResult.java
Vitesse de la matrice: 4001200
Vitesse liste: 9521900
Vitesse de hachage: 19611200
Vitesse liée: 15211300
Le résultat avec l'heure de création est le suivant
ForEaerVsPlusCreateResult.java
Vitesse de la matrice: 32542100
Vitesse liste: 80343600
Vitesse de hachage: 101256200
Vitesse liée: 140576800
Recommended Posts