[Java] Convertir ArrayList en tableau

Comment convertir ArrayList en tableau et notes

ListToArray.java


//Génération ArrayList
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");

String[] array = (String[])arrayList.toArray();

System.out.println("ArrayList = " + arrayList.toString());
System.out.println("Tableau= " + Arrays.toString(array));

Résultat (NG)

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

Pourquoi

Essayez de faire revenir la classe

ListToArray.java


//Génération ArrayList
//Omission
System.out.println(arrayList.toArray().getClass());

résultat

class [Ljava.lang.Object;

Le tableau de type Object est renvoyé. .. ..

Réparer

ListToArray.java


//Génération ArrayList
//Omission
//0 pour le nombre d'éléments dans le tableau ou arrayList.size()Mettre en
String[] array = arrayList.toArray(new String[arrayList.size()]);
//String[] array = arrayList.toArray(new String[0]);* Le traitement sera plus lent (décrit plus tard)

System.out.println("ArrayList = " + arrayList.toString());
System.out.println("Tableau= " + Arrays.toString(array));

Résultat (OK)

ArrayList = [A, B, C]
Tableau= [A, B, C]

Essayez de creuser profondément

java:java.util.ArrayList.class



public <T> T[] toArray(T[] a) {
   if (a.length < size)
     return (T[]) Arrays.copyOf(elementData, size, a.getClass());
     System.arraycopy(elementData, 0, a, 0, size);
     if (a.length > size)
         a[size] = null;
     return a;
}

System.arraycopy(elementData, 0, a, 0, size); Je copiais String [] tel quel. S'il s'agit de ~~ new String [0], il entrera Arrays.copyOf (3e ligne) et copiera les éléments un par un, ce qui ralentira le processus. ~~ Mis à jour le 29/04/2020

J'ai essayé de vérifier le temps de traitement [Java] ArrayList → Dois-je spécifier la taille pour la conversion de tableau

Au fait

Seul le type spécifié dans la source de conversion ArrayList peut être spécifié dans l'argument toArray. Si vous avez une classe différente, vous obtiendrez une erreur de compilation.

Recommended Posts

[Java] Convertir ArrayList en tableau
[Java] Convertit un tableau en ArrayList * Attention
Comment convertir la base Java
Comment initialiser un tableau Java
[Java] tableau
Tableau Java
Tableau Java
java (tableau)
Tableau Java
[Java] Array
Tableau Java
Comment convertir un fichier en tableau d'octets en Java
tableau java
[Java] Array
Convertir l'alphabet en 26 base + environ la longueur du tableau
Contenu d'apprentissage de base Java 2 (array / ArrayList)
[Java] Convertir 1 en N liste en carte
[Java] Comment utiliser List [ArrayList]
[Android] Convertir le code Java Android en Kotlin
[Java] Conversion d'un tableau à une liste
Comment créer un tableau Java
Convertir le tableau 2D de Swift en tableau 2D de C
Convertir un tableau d'octets Java en une chaîne hexadécimale
Pour les débutants Java: List, Map, Iterator / Array ... Comment convertir?
Convertir un tableau bidimensionnel au format csv avec l'API Java 8 Stream
variable de tableau java
Convertir toutes les applications Android (Java) en Kotlin
Convertir l'heure UTC Java en heure JST
[Java] Convertit null du type Object en type String
Convertir des fichiers SVG en fichiers PNG en Java
[Java] Introduction à Java
Convertir un tableau de chaînes en nombres
[Explication facile à comprendre! ] Comment utiliser ArrayList [Java]
[Java] De deux listes à une liste de tableaux
[Java] Convertit le code DB en valeur de code à l'aide d'énum
Convertissez une chaîne en un tableau caractère par caractère avec Swift
Comment convertir un contrat de solidité en une classe de contrat Java
Convertir les beans imbriqués Java au format aaa.bbb [0] .ccc
Tableau bidimensionnel en commençant tout juste à étudier Java
[Java] Comment convertir un élément d'un tableau de type String en type Int
[Java] Convertir la version PDF
Changements de Java 8 à Java 11
Somme de Java_1 à 100
A propos de la liste des baies Java
Améliorations de Kotlin à Java
Introduction à la commande java
[Java] Qu'est-ce que ArrayList?
Lancez Docker à partir de Java pour convertir des documents Office en PDF
<java> Lire le fichier Zip et le convertir directement en chaîne
Maîtriser Kotlin ~ Convertir un fichier Java en fichier Kotlin Road to Graduation ~ Partie 3
Convertir l'énumération Java et JSON vers et depuis Jackson
Exemple de code pour convertir List en List <String> dans Java Stream
[Java] Convertit les chaînes de caractères en majuscules / minuscules (AOJ⑨ --swap majuscules / minuscules)
Maîtriser Kotlin ~ Convertir un fichier Java en fichier Kotlin Road to Graduation ~ Partie 2
Pour les applications Java, convertissez des documents Word (DOC / DOCX) en PDF
Maîtriser Kotlin ~ Convertir un fichier Java en fichier Kotlin Road to Graduation ~ Partie 1
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
[Java] Convertir JSON en Java et Java en JSON-Comment utiliser GSON et Jackson-