1 Convertir un tableau en liste
Appelez la méthode statique asList de la classe Arrays.
commeListe
public static <T> List<T> asList(T... a)Renvoie une liste de taille fixe soutenue par le tableau spécifié (les modifications apportées à la liste renvoyée sont "écrites" dans le tableau.) Cette méthode agit comme un pont entre. API basées sur des tableaux et des collections, en combinaison avec Collection.toArray(). La liste renvoyée est sérialisable et implémente RandomAccess.
Cette méthode fournit également un moyen pratique de créer une liste de taille fixe initialisée pour contenir plusieurs éléments :
List<String> comparses = Arrays.asList("Larry", "Moe", "Curly");
Paramètres :
a - le tableau par lequel la liste sera sauvegardée
Retours :
une vue en liste du tableau spécifié
Utilisation : L'API fournit une méthode d'utilisation. Exemple de code le plus couramment utilisé :
Copiez le code comme suit :
String[] arr = nouveau String[] {"str1", "str2"};
List<String> list = Arrays.asList(arr);
2 Convertir la liste en tableau
La liste ici prend ArrayList comme exemple. L'API d'ArrayList fournit deux fonctions qui peuvent être utilisées.
versArray
public Object[] toArray()Renvoie un tableau contenant tous les éléments de cette liste dans l'ordre approprié (du premier au dernier élément).
Le tableau renvoyé sera "sûr" dans le sens où aucune référence à celui-ci n'est conservée par cette liste (en d'autres termes, cette méthode doit allouer un nouveau tableau. L'appelant est ainsi libre de modifier le tableau renvoyé).
Cette méthode sert de pont entre les API basées sur des tableaux et celles basées sur des collections.
Spécifié par :
toArray dans l'interface Collection<E>
Spécifié par :
toArray dans la liste d'interface<E>
Remplacements :
toArray dans la classe AbstractCollection<E>
Retours :
un tableau contenant tous les éléments de cette liste dans le bon ordre
Voir aussi :
Arrays.asList(Object[])
-------------------------------------------------- ----------------------------------
versArray
public <T> T[] toArray(T[] a)Renvoie un tableau contenant tous les éléments de cette liste dans l'ordre approprié (du premier au dernier élément) ; le type d'exécution du tableau renvoyé est celui du tableau spécifié. Si la liste tient dans le tableau spécifié, elle y est renvoyée. Sinon, un nouveau tableau est alloué avec le type d'exécution du tableau spécifié et la taille de cette liste.
Si la liste tient dans le tableau spécifié avec de l'espace libre (c'est-à-dire que le tableau contient plus d'éléments que la liste), l'élément du tableau qui suit immédiatement la fin de la collection est défini sur null (ceci est utile pour déterminer la longueur. de la liste uniquement si l'appelant sait que la liste ne contient aucun élément nul.)
Spécifié par :
toArray dans l'interface Collection<E>
Spécifié par :
toArray dans la liste d'interface<E>
Remplacements :
toArray dans la classe AbstractCollection<E>
Paramètres :
a - le tableau dans lequel les éléments de la liste doivent être stockés, s'il est suffisamment grand, sinon un nouveau tableau du même type d'exécution est alloué à cet effet ;
Retours :
un tableau contenant les éléments de la liste
Les lancers :
ArrayStoreException - si le type d'exécution du tableau spécifié n'est pas un supertype du type d'exécution de chaque élément de cette liste
NullPointerException - si le tableau spécifié est nul
Utilisation : Exemple de code :
Copiez le code comme suit :
List<String> list = new ArrayList<String>();
list.add("str1");
list.add("str2");
int taille = liste.size();
String[] arr = (String[])list.toArray(new String[size]);//En utilisant la deuxième interface, la valeur de retour et les paramètres sont tous deux des résultats