Comment convertir une collection de listes en tableau en Java : 1. Utilisez la méthode toArray sans paramètre, avec le format de syntaxe "Object[] toArray();" 2. Utilisez la méthode toArray qui prend en charge les génériques, avec le format de syntaxe "
T[] toArray(T[] a);".
Recommandations associées : "Tutoriel vidéo Java"
En Java, nous rencontrons souvent Aux scénarios nécessitant une conversion entre liste et tableau. Alors, comment convertir une liste en tableau ? L’article suivant vous le présentera.
Pour convertir List en tableau, vous pouvez utiliser la méthode toArray() ou toArray(T[] a) de List.
Convertir la liste en tableau
Pour convertir la liste en tableau, vous pouvez appeler la méthode toArray,
Il y en a deux surcharge ici Méthode,
utilise généralement la deuxième méthode avec des paramètres génériques :
Object[] toArray(); <T> T[] toArray(T[] a);
2.1 Méthode toArray sans paramètre
Object[] toArray();
Cette méthode convertira directement la liste. au tableau Object[].
Les débutants Java aiment utiliser cette méthode
Elle est très pratique à utiliser sans paramètres
Et il n'y a pas d'erreur lors de la compilation du code
<🎜. >Exemples d'utilisation incorrecte Le code est le suivant :List<String> strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray = (String[]) strList.toArray();
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
List<String> strList = new ArrayList<>(); Object[] strArray = strList.toArray();
2.2. Prend en charge la méthode générique toArray
<T> T[] toArray(T[] a);
List<String> strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray = strList.toArray(new String[strList.size()]);
2.3 Taille du tableau des paramètres d'entrée de la méthode toArray
Pour le code suivant, <🎜. >Analysez la relation entre la taille du tableau String initialisé,
et la taille de la List strList.size(), et les différents effets de
sur la valeur de retour :
List<String> strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray1 = new String[size]; String[] strArray2 = strList.toArray(strArray1);
2.3 .1.size < strList.size()
Maintenant, définissez size=0,
est inférieur à strList.size()=2,
La partie modification du code est la suivante :
String[] strArray1 = new String[0];
Les strArray2 et strArray1 renvoyés ne sont pas le même objet.
2.3.2.size = strList.size()
Définissez maintenant size=strList.size(),
La partie modification du code est la suivante :
String[] strArray1 = new String[strList.size()];
Les strArray2 et strArray1 renvoyés sont le même objet.
Les deux morceaux de code suivants sont donc équivalents. Le strArray obtenu par
est le résultat que nous attendons :
String[] strArray = strList.toArray(new String[strList.size()]); String[] strArray = new String[strList.size()]; strList.toArray(strArray);
2.3.3.size > )
Maintenant, définissez size=strList.size()+1,
La partie modification du code est la suivante :
String[] strArray1 = new String[strList.size()+1];
Les strArray2 et strArray1 renvoyés sont le même objet,
Mais le dernier élément du tableau est nul,
S'il y a plus d'éléments dans le tableau que dans la Liste,
La fin du tableau immédiatement après la liste est copié est défini sur null,
C'est-à-dire strArray1[strList.size()]=null,
Ceci est utile pour l'appelant pour déterminer la longueur réelle du tableau,
Si vous utilisez strList.size()+ 2 initialise le tableau,
alors l'avant-dernier élément du tableau est nul.
Pour plus de connaissances liées à la programmation, veuillez visiter :
Enseignement de la programmationCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!