Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Dan_SB en 10 de Abril 2015, 22:17
-
Buenos dias!
Resuelvo el ejercicio 75° del curso con el siguiente enunciado:
Crea un programa Java donde declares un array de enteros tipo int miArray1 cuyo contenido inicial sea {2, -4, 3, -7}. Muestra su contenido por pantalla. Copia el contenido de este array a un ArrayList denominado lista1 y muestra su contenido por pantalla. ¿Qué tipo de datos almacena el array? ¿Qué tipo de datos almacena el ArrayList?
Aqui el codigo de prueba:
package ArratObjeto;
import java.util.ArrayList;
public class ListaNumeros {
public static void main(String[]args){
int miArray1[];
ArrayList <Integer> Lista1 = new ArrayList<Integer>(4);
miArray1 = new int[]{2,-4,3,-7};
System.out.print("Elementos del array: ");
for(int i = 0; i < miArray1.length; i++){
System.out.print(miArray1[i] + ", ");
}
System.out.println(" ");
//Copiando cadena con System.arraycopy...!
for(int i = 0; i< miArray1.length; i++){
Lista1.add(miArray1[i]);
}
//Imprimiendo Lista1.
System.out.print("Elementos copiados al segundo array: ");
for(int num: Lista1){
System.out.print(num + ", ");
}
}
}
¿Qué tipo de datos almacena el array?
Un array puede almacenar tipos primitivos (int, double, char, float..) y el tipo "especial" que es un objeto, los tipos String.
¿Qué tipo de datos almacena el ArrayList?
Me ocurrió algo durante la confección del código para la prueba:
Confieso que al inicio hice esto:
(http://i.imgur.com/DB9BH6m.png)
Y me puse a jugar...
(http://i.imgur.com/n8iYn6i.png)
(http://i.imgur.com/cQABTKk.png)
Y como ya saben, el String es un objeto
(http://i.imgur.com/KPYPdf8.png)
La respuesta era usar el Integer obviamente porque usamos numeros:
(http://i.imgur.com/5F4QxBI.png)
Con los tipos primitivos, suelta errores, solo funciona con objetos (String, Integer)... por lo que mi conclusión seria: solo almacenan objetos.
PD: La linea amarilla que esta bajo el "new ArrayList<Integer>(4);" es un warning, que me dice que estoy redundando el asunto (como si el netbeans me dijera: hey, no hace falta que me digas de nuevo que Lista1 es Integer.)
Le hice caso a la advertencia, lo corrigio de esta manera "new ArrayList<>(4);" y funciono igual:
(http://i.imgur.com/R3rGqfu.png)
Creo que solo es valido escribir "new ArrayList<Integer>(4);" en constructores, aunque igual, con todo y el warning corre el programa.
Espero sus comentarios y sus correcciones, gracias!
-
Hola Dan
Ejercicio correcto. OK
En las preguntas del ejercicio:
¿Qué tipo de datos almacena el array? ¿Qué tipo de datos almacena el ArrayList?
Se pregunta sobre 'el array' y 'el ArrayList' del ejercicio actual, no a 'cualquier array o ArrayList' en el lenguaje de Java.
En la lección CU00669B se explica que un array puede contener tanto primitivos como objetos de cualquier tipo como:
int, double, Integer, Double, Persona, Taxi, etc.
En cambio un ArrayList solo puede contener objetos como:
Integer, Double, Persona, Taxi, etc.
Está bien que juegues con el código probando cosas. Se aprende así.
Pero también se aprende teniendo en cuenta las enseñanzas que recibimos en las clases teóricas.
Saludos