Aprenda Java para Desarrollo en Android: Trabajando con Arreglos
Spanish (Español) translation by Rodney Martinez (you can also view the original English article)
Esta lección rápida le muestra cómo trabajar con arreglos en Java. Este lección es parte de una serie en curso de tutoriales para desarrolladores que están aprendiendo Java para desarrollar aplicaciones en Android.
¿Qué es un Arreglo?
Un arreglo es una estructura de datos comunes utilizada para guardar una lista ordenadas de objetos. Los elementos de un arreglo son digitados. Por ejemplo, podría crear un arreglo de caracteres para representar las vocales en el alfabeto:
1 |
|
2 |
char aVowels[] = {'a','e','i','o','u'}; |
Se parece mucho a C o C++, los arreglos de Java son indexados de forma numérica en sistema 0. Esto significa que el primer elemento en el arreglo (que es una letra "a") es el índice 0, la segunda letra ("e") es el índice 1 y así sucesivamente.
Java facilita el trabajo con los arreglos de forma más fácil que muchos otros lenguajes de programación. El mismo arreglo es un objeto (de tipo arreglo) con todas las ventajas del mismo. Por ejemplo, siempre puede examinar el tamaño de una arreglo usando su propiedad length:
1 |
|
2 |
int length = aVowels.length; |
¿Qué puedo guardar en un Arreglo?
Puede guardar cualquier objeto o un tipo primitivo en un arreglo. Por ejemplo, puede guardar enteros en un arreglo:
1 |
|
2 |
int aNums[] = { 2, 4, 6 }; |
O, puede guardar tipos no primitivos como Strings (o cualquier otra clase) en un arreglo:
1 |
|
2 |
String aStooges[] = {"Larry", "Moe", "Curly"}; |
Algunas veces, querrá guardar objetos para diferentes tipos en un arreglos. Siempre puede tomar ventaja de la herencia y usar una clase padre para el tipo de arreglo. Por ejemplo, la clase Objeto es la clase madre de todas las clases… así que usted podría guardar diferentes tipos en un arreglo único como este:
1 |
|
2 |
float one = 1.0f; |
3 |
Integer two = new Integer(2); |
4 |
String three = "three"; |
5 |
Object aObjects[] = {one, two, three}; |
Los elementos de un objeto arreglo en Java son referencias (o controladores) para objetos, no instancias de objetos. Un valor de un elemento es null hasta que éste es asignado a una instancia valida de un objeto (es decir, el arreglo es inicializado automáticamente pero usted es responsable de asignar sus valores).
Declarando Arreglos
Hay diversas formas de declarar un arreglo en Java. Usted ha visto que usted puede declarar un arreglo y, inmediatamente, proporcionar sus elementos usando la sintaxis de paréntesis estilo C. Por ejemplo, el siguiente código de Java declara un arreglo de enteros de longitud 3 e inicializa el arreglo en una sola línea:
1 |
|
2 |
int aNums[] = { 2, 4, 6 }; |
Además, usted puede declarar un arreglo de un tamaño específico y luego asignar el valor de cada elemento; individualmente, de esta forma:
1 |
|
2 |
double aPowersOfTwo[] = new double[5]; |
3 |
aPowersOfTwo[0]=Math.pow(2,0); |
4 |
aPowersOfTwo[1]=Math.pow(2,1); |
5 |
aPowersOfTwo[2]=Math.pow(2,2); |
6 |
aPowersOfTwo[3]=Math.pow(2,3); |
7 |
aPowersOfTwo[4]=Math.pow(2,4); |
Esto es equivalente a crear un arreglo como este:
1 |
|
2 |
double aPowersOfTwoExplicit[] = {1.0d, 2.0d, 4.0d, 8.0d, 16.0d}; |
Hay varias otras formas para crear arreglos. Por ejemplo, puede crear una variable arreglo y asignarla por separado usando la palabra clave new. Además, puede poner los paréntesis del arreglo antes del nombre de la variable, si así lo desea (esto es un asunto de estilos). Por ejemplo, el siguiente código de Java define un arreglo de elementos String y luego, los asigna individualmente:
1 |
|
2 |
String [] aStopLightColors; |
3 |
aStopLightColors = new String[3]; |
4 |
aStopLightColors[0] = new String("red"); |
5 |
aStopLightColors[1] = new String("yellow"); |
6 |
aStopLightColors[2] = new String("green"); |
Modificando el Contenido de los Arreglos
Como ha visto, puede asignar valores a los arreglos usando la sintaxis de paréntesis:
Puede extraer valores de un arreglo por medio del índice. Por ejemplo, usted podría acceder al segundo elemento en el arreglo llamado aStopLightColors (definido en la sección anterior) así como sigue:
1 |
|
2 |
String strCurrentLightColor = aStopLightColors[1]; |
Iterando Arreglos
Finalmente, los arreglos a menudo son usados como una lista ordenada de objetos. Por lo tanto, puede encontrar lo que desea para iterarlo a través del arreglo en orden consiguiendo acceso a cada elemento de forma metódica.
Hay diversas formas de hacer esto en Java. Ya que usted siempre puede verificar la dimensión de un arreglo mediante la programación, usted puede usar cualquiera de los ciclos for o while con los que mejor esté familiarizado. Por ejemplo, el siguiente código de Java, declara un arreglo de entero sencillo de tres números y usa un ciclo for para iterar a través de los objetos del arreglo:
1 |
|
2 |
int aNums[] = { 2, 4, 6 }; |
3 |
|
4 |
for (int i = 0; i < aNums.length; i++) { |
5 |
String strToPrint = "aNums[" + i + "]=" + aNums[i]; |
6 |
}
|
Java, también, ofrece un ciclo for-each, práctico para iterar a través de arreglos en un modelo amigable. El ciclo for ayuda a evitar errores tontos de programación que son comunes en los ciclos (errores uno por uno, etc). Para usar la sintáxis del ciclo for, usted necesita definir su variable del ciclo, luego; poner una coma, y después, especificar el nombre de un arreglo. Por ejemplo, el siguiente código proporciona la estructura similar de un ciclo como el ciclo for muestra arriba:
1 |
|
2 |
for (int num : aNums) { |
3 |
String strToPrint = num; |
4 |
}
|
Como puede ver, el ciclo for-each es ingenioso. Sin embargo, usted ya no conoce el índice mientras está iterando. De este modo, no puede ser utilizado en todas las situaciones.
En conclusión
En está lección rápida, usted ha aprendido acerca de los arreglos en Java. Los arreglos son una estructura de datos fundamental utilizador por la programación en Java que almacena un número ordenado de objetos de un tipo dado en un modelo organizado. En Java, los arreglos son objetos en sí mismos y guardan referencias a objetos, haciendo asignaciones y un uso más fácil (pero sutilmente diferente) que cómo los arreglos son empleados en otros lenguajes de programación.
Sobre los Autores
Desarrolladores de Celulares, Lauren Darcey y Shane Conder son coautores de varios libros sobre el desarrollo en Android: un libro de programación a fondo titulado: Desarrollo de Aplicaciones Inalámbricas de Android y Sams Aprenda usted mismo a Desarrollar Aplicaciones para Android en 24 horas. Cuando no escriben, ellos pasan su tiempo desarrollando programas para celulares en sus empresas y proporcionando servicios de consultoría. Ellos pueden ser localizado a través de correo electrónico androidwirelessdev+mt@gmail.com, o por medio de su blog en androidbook.blogspot.com, y en Twitter @androidwireless.



