77 votes

Conversion de ArrayList en Array en Java

J'ai un ArrayList avec des valeurs comme "abcd#xyz" et "mnop#qrs". Je veux le convertir en un tableau, puis le diviser avec # comme délimiteur et avoir abcd,mnop dans un tableau et xyz,qrs dans un autre tableau. J'ai essayé le code suivant :

 String dsf[] = new String[al.size()];              
for(int i =0;i<al.size();i++){
  dsf[i] = al.get(i);
}

Mais il a échoué en disant "Ljava.lang.String;@57ba57ba"

127voto

talnicolas Points 6925

Vous n'avez pas besoin de réinventer la roue, voici la méthode toArray()

 String []dsf = new String[al.size()];
al.toArray(dsf);

63voto

List<String> list=new ArrayList<String>();
list.add("sravan");
list.add("vasu");
list.add("raki");
String names[]=list.toArray(new String[list.size()])

10voto

nandy Points 71
List<String> list=new ArrayList<String>();
list.add("sravan");
list.add("vasu");
list.add("raki"); 
String names[]=list.toArray(new String[0]);

si vous voyez la dernière ligne (new String[0]), vous n'avez pas à donner la taille, il y a des moments où nous ne connaissons pas la longueur de la liste, donc pour commencer par la donner comme 0 , le construit le tableau se redimensionnera.

2voto

Anand Points 49
String[] values = new String[arrayList.size()];
        for (int i = 0; i < arrayList.size(); i++) {
            values[i] = arrayList.get(i).type;
        }

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