112 votes

De Arraylist à Array

Je veux savoir s'il est sûr/recommandé de convertir de ArrayList en Array ? J'ai un fichier texte avec chaque ligne une chaîne :

 1236
1233
4566
4568
....

Je veux les lire dans une liste de tableaux, puis je les convertis en tableaux. Est-il conseillé/légal de le faire ?

Merci

75voto

AlexR Points 60796

C'est le meilleur moyen (IMHO).

 List<String> myArrayList = new ArrayList<String>();
//.....
String[] myArray = myArrayList.toArray(new String[myArrayList.size()]);

Ce code fonctionne aussi :

 String[] myArray = myArrayList.toArray(new String[0]);

Mais c'est moins efficace : le tableau de chaînes est créé deux fois : la première fois qu'un tableau de longueur nulle est créé, puis le tableau de taille réelle est créé, rempli et renvoyé. Donc, si vous connaissez la taille nécessaire (à partir de list.size() ), vous devez créer un tableau suffisamment grand pour mettre tous les éléments. Dans ce cas, il n'est pas réaffecté.

5voto

Brian Roach Points 43787
ArrayList<String> myArrayList = new ArrayList<String>();
...
String[] myArray = myArrayList.toArray(new String[0]);

Que ce soit une "bonne idée" dépend vraiment de votre cas d'utilisation.

3voto

Erhan Bagdemir Points 2838

en supposant que v est un ArrayList :

 String[] x = (String[]) v.toArray(new String[0]);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X