[JAVA] Array vs ArrayList vs HashMap Extended pour Statement Race

correction

L'opérateur de comparaison était erroné (corrigé)

Ce qui a été utilisé

・ Java9 · Éclipse

Motivation

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.

résultat

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

Impressions

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

ajouter à

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

Array vs ArrayList vs HashMap Extended pour Statement Race
[Java] pour instruction / étendu pour instruction
[Java] Comment transformer un tableau à deux dimensions avec une instruction for étendue
[Java] Comment obtenir des éléments HashMap par contrôle de boucle à l'aide de l'instruction Extended for
Comparez la vitesse de l'instruction for et de l'instruction for étendue.
Comment utiliser un tableau pour les clés HashMap
Java pour instruction
J'ai essayé d'utiliser l'instruction Extended for en Java
[Débutant] Variable Java / opérateur logique / étendu pour l'instruction [Note 22]
Comment faire une boucle Java Map (for Each / extended for statement)