[Java] ArrayList → La taille doit-elle être spécifiée dans la conversion de tableau?

Lors de la spécification de la taille du tableau

ListToArray.java


ArrayList<String> arrayList = new ArrayList<String>();
for(int i=0; i < 10000000;i++) { //← 100 millions
	arrayList.add("A");
}
long array1Start = System.currentTimeMillis();
arrayList.toArray(new String[arrayList.size()]);              //←← ici
long array1End = System.currentTimeMillis();
System.out.println("temps de traitement:" + (array1End - array1Start) + " ms");

résultat

Temps de traitement: 3179 ms

Si vous ne spécifiez pas la taille du tableau

ListToArray.java


ArrayList<String> arrayList = new ArrayList<String>();
for(int i=0; i < 100000000;i++) { //← 100 millions
	arrayList.add("A");
}
long array2Start = System.currentTimeMillis();
arrayList.toArray(new String[0]);              //←← ici
long array2End = System.currentTimeMillis();
System.out.println("temps de traitement:" + (array2End - array2Start) + " ms");

résultat

Temps de traitement: 3047 ms

Eh, presque pareil ... Selon la situation de la machine à ce moment-là, le résultat sera presque le même.

évaluer

performance

Le temps de traitement est presque le même Est-ce parce qu'il ne fait que copier la source de référence?

lisibilité

arrayList.toArray(new String[arrayList.size()]); //Explicite et facile à comprendre
arrayList.toArray(new String[0]);                //Je pense à la signification de 0

Conclusion

Les performances sont presque les mêmes, La taille doit être spécifiée pour la lisibilité

Recommended Posts

[Java] ArrayList → La taille doit-elle être spécifiée dans la conversion de tableau?
Spécifiez l'emplacement Java dans eclipse.ini
J'ai essayé le nouveau yuan à Java
Organisation des notes dans la tête (Java-Arrangement)
Mesurer la taille d'un dossier avec Java
J'ai essayé d'implémenter la méthode de division mutuelle d'Eugrid en Java
[Java] Conversion de type de liste / type de tableau
J'ai traduit [Méthode Clone pour les tableaux Java] comme méthode Clone dans les tableaux Java.
J'ai fait une roulette à Java.
Les débutants en Java ont brièvement résumé le comportement de Array et ArrayList
J'ai essayé de comparer et de correspondre à des méthodes avec des fonctions similaires pour la différence entre le tableau Java et ArrayList.
J'étais confus parce qu'il y avait une scission dans le tableau
[Java] J'ai essayé d'implémenter la combinaison.
[Java] Convertir ArrayList en tableau
J'ai étudié le constructeur (java)
J'ai essayé la métaprogrammation avec Java
Je souhaite simplifier l'instruction if-else de la branche conditionnelle en Java
Découvrez la taille maximale du tas lorsque vous spécifiez l'option -Xmx ou -XX: MaxRAM en Java
J'ai fait un "Sunshine Ikezaki game" que j'ai vu sur Twitter en Java.
[Java] Je veux effectuer distinctement avec la clé dans l'objet
Accéder à l'interface réseau avec Java
Devinez le code de caractère en Java
J'ai créé un PDF avec Java.
J'ai lu la source de ArrayList que j'ai lu
Décompressez le fichier zip en Java
Contenu d'apprentissage de base Java 2 (array / ArrayList)
J'ai écrit le théorème de Gordobach en java
J'ai essayé le framework Java "Quarkus"
Analyser l'analyse syntaxique de l'API COTOHA en Java
[Java] Différence entre array et ArrayList
J'ai fait une annotation en Java.
J'ai essayé d'utiliser JWT en Java
[Java] Conversion d'un tableau à une liste
Liste de conversion mutuelle de tableau / liste / flux Java
[Java] Convertit un tableau en ArrayList * Attention
Appelez la super méthode en Java
J'ai essayé de résoudre les 10 dernières questions qui devraient être résolues après m'être inscrit auprès d'AtCoder en Java
Augmenter dynamiquement le nombre d'éléments dans un tableau bidimensionnel Java (tableau multidimensionnel)
Spécifiez l'ordre dans lequel les fichiers de configuration et les classes sont chargés dans Java
J'ai appelé l'analyse de la syntaxe de l'API COTOHA 100 fois en Java pour mesurer les performances.
Je souhaite obtenir l'adresse IP lors de la connexion au Wi-Fi avec Java
Je veux ForEach un tableau avec une expression Lambda en Java
J'ai essayé d'utiliser l'API Elasticsearch en Java
Spécifiez le JAVA_HOME par défaut utilisé dans buildship
Lors de la recherche de plusieurs dans un tableau Java
Obtenez le résultat de POST en Java
Référence Java à comprendre dans la figure
Essayez d'utiliser l'API Stream en Java
Appelez l'API de notification Windows en Java
Mapper sans utiliser de tableau en java
Comment faire une conversion de base en Java
[Java] Utiliser la technologie cryptographique avec les bibliothèques standard
Comparer les éléments d'un tableau (Java)
Essayez d'appeler le service CORBA sur Java 11+
[jour: 5] J'ai résumé les bases de Java
Quelle est la méthode principale en Java?
Mesurez facilement la taille des objets Java
[Java] J'ai personnellement résumé la grammaire de base.
Fonction de conversion d'objet de liste immuable (immuable) dans Java8
Comment obtenir la date avec Java