ArrayList en java


ArrayList<String> veri1 = new ArrayList<String>();

String[] veri2 = {"Fatih", "Ferhat", "Furkan"};

Comment puis-je ajouter veri2 à veri1 comme un élément? Je veux dire, si j'appelle veri.get(0), il renvoie veri2.

Author: BartoszKP, 2010-05-06

7 answers

Vous devez déclarer votre liste comme une liste de les tableaux de chaîne, pas une liste de chaînes de caractères:

List<String[]> veri1 = new ArrayList<String[]>();
String[] veri2 = {"Fatih", "Ferhat", "Furkan"};

veri1.add(veri2);

Notez qu'en général, il est préférable de déclarer votre liste comme List au lieu de ArrayList, car cela vous laisse la liberté de passer à une implémentation de liste différente plus tard.

 15
Author: Péter Török, 2010-05-06 14:18:59

Vous devez utiliser l'interface de liste et les génériques (pour Java >= 1.5). Selon ce que vous voulez faire, vous pouvez utiliser ceci:

String[] veri2 = {"Fatih", "Ferhat", "Furkan"};

List<String> veri1 = new ArrayList<String>();
veri1.addAll(Arrays.asList(veri2)); // Java 6

List<String[]> veri3 = new ArrayList<String[]>();
veri3.add(veri2);
 6
Author: Daff, 2010-05-06 14:11:22

Vous ne pouvez pas réellement faire cela.

Veri2 est un tableau de chaînes, veri1 est une liste de tableaux de personne cordes Ainsi, faire veri1.get (0) devrait renvoyer une seule chaîne, pas un tableau de chaînes.

 2
Author: Uri, 2010-05-06 14:12:01

Je viens de voir (en raison de fm), que vous avez un ArrayList<String>. Vous pouvez faire:

ArrayList veri1 = new ArrayList();
veri1.add(veri2)

Ou

ArrayList<String[]> veri1 = new ArrayList<String[]>();
veri1.add(veri2)

Vous pouvez également créer ver1 a List, ce qui vous donne de la flexibilité dans la modification des implémentations.

 2
Author: Matthew Flaschen, 2010-05-06 18:38:39

Tout dépend si vous voulez ou non que votre ArrayList soit d'un type ou si vous en avez besoin pour contenir plusieurs types.

Si vous en avez juste besoin pour contenir des tableaux de chaînes tout au long de votre code, déclarez comme indiqué ci-dessus:

ArrayList<String[]> list1 = new ArrayList<String[]>();

Ensuite, ajoutez-y simplement le tableau de chaînes comme suit:

list1.add(stringArray);

Si vous voulez qu'il soit dynamique, déclarez-le avec le type d'objet:

ArrayList<Object> anythingGoes = new ArrayList<Object>();

Et puis vous pouvez ajouter quelque chose plus tard aussi bien:

anythingGoes.add(stringArray);
anythingGoes.add(myAge);
anythingGoes.add(myName);
 1
Author: Scott, 2010-05-06 14:14:38

Je pense que vous voulez dire ceci:

import java.util.Arrays;

ArrayList<String> veri1 = new ArrayList<String>();
String[] veri2 = {"Fatih", "Ferhat", "Furkan"};

veri1.addAll(Arrays.asList(veri2);
 1
Author: Jonas Fagundes, 2013-03-15 15:59:14

Vous avez à peu près juste besoin d'ajouter le tableau à la ArrayList.

ArrayList<String[]> veri1 = new ArrayList<String[]>();
String[] veri2 = {"a", "b", "c"};
veri1.add(veri2);

System.out.println(veri1.size());
for(String[] sArray : veri1)
    for(String s : sArray)
        System.out.println(s);
 0
Author: Brent Parker, 2010-05-06 14:14:57