Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Añadir array normal al final de arrayList

Buenas a ver si me podeis ayudar con un ejercicio este seria el enunciado:
-Añade al final del ArrayList el contenido del array normal(método addAll).

MI CODIGO:
ArrayList<Integer> a=new ArrayList<>(); {{ //ArrayList.
a.add(4);a.add(45);a.add(12);a.add(3);a.add(41);a.add(39);a.add(21);a.add(4);
}}
int[] c = {4,5,12,45,25,45,29,38}; //Array normal.

public void anadirAlFinal() {
a.addAll(c); //Si fuera entre arrayList y arrayList si me deja pero entre arrayList y //array normal no me deja....

for(int i=0; i < a.size(); i++){
System.out.print(a.get(i)+" "); //Se muestra la combinacion de lista y array.
}
System.out.println();
}

abril 15, 2015 | Registered Commentertesi

Tal y como tienes declarado el array, no es posible usar directamente addAll
Mira el siguiente ejemplo, que tal vez es lo que pretendes:

public class NewMain {

public static void main(String[] args) {
List<Integer> a = new ArrayList<>();
a.add(4);
a.add(45);
a.add(12);
a.add(3);
a.add(41);
a.add(39);
a.add(21);
a.add(4);

Integer[] c = {4, 5, 12, 45, 25, 45, 29, 38};
a.addAll(Arrays.asList(c));

System.out.println("lista: " + a);
}

}

Si, a pesar de todo quieres usar tu array de primitivas, y el método addAll, entonces:

public class NewMain {

public static void main(String[] args) {
List<Integer> a = new ArrayList<>();
a.add(4);
a.add(45);
a.add(12);
a.add(3);
a.add(41);
a.add(39);
a.add(21);
a.add(4);

int[] c = {4, 5, 12, 45, 25, 45, 29, 38};
Integer[] c1 = new Integer[c.length];
for (int i = 0; i < c.length; i++) {
c1[i] = c[i];
}
a.addAll(Arrays.asList(c1));

System.out.println("lista: " + a);
}

}

abril 15, 2015 | Registered Commenterchoces

Vale perfecto, muchas gracias :)

abril 15, 2015 | Registered Commentertesi