Вы находитесь на странице: 1из 27

Unidad III Programacin Orientada a Objetos en Java

Arreglos, ArrayList y Cadenas


Programacin I - 0416202

UI-C03
25/05/15

Arreglos, ArrayList y Cadenas

Contenido
Esta leccin abarca los siguientes temas:
Arreglos en Java
Inicializacin de Arreglos en Java
Acceso a la longitud de un Arreglo
Recorrido de un Arreglo con for-each
Arreglos bidimensionales
Longitud de Arreglos Bidimensionales
Clase ArrayList
Operacin con Cadenas (String)
Referencia de un String

Arreglos, ArrayList y Cadenas

Arreglos en Java
Un arreglo es una coleccin de valores del mismo tipo de datos
almacenados en un objeto contenedor.

Puede ser cualquier nmero de valores.


Cuando se declara el arreglo se establece su longitud.

Arreglos, ArrayList y Cadenas

Arreglos en Java
Los arreglos pueden contener cualquier tipo de datos, como los
siguientes:
Primitivos

Objetos predefinidos, como Strings de las API de Java


Objetos definidos por programadores, como las instancias
de la clase que usted cree.

Arreglos, ArrayList y Cadenas

Arreglos en Java
La declaracin de un arreglo se puede realizar en una o dos
lneas. Ambos ejemplos a continuacin son equivalentes a

declaraciones de arreglos.
//Declaracin en 2 lnea de cdigo
data_type[ ] variable_name;
variable_name = new data_type[size];

//Declaracin en 1 lnea de cdigo


data_type[ ] variable_name = new data_type[size];

Arreglos, ArrayList y Cadenas

Arreglos en Java

Ejemplo:
String[ ] nombres = new String[6];
int[ ] edades = new int[4];
double[ ] notas = new double[100];
char[ ][ ] matriz = new char [10][10];

Arreglos, ArrayList y Cadenas

Inicializacin de Arreglos en Java


Una vez que declara un arreglo debe inicializarlo para
establecer los valores de los ndices especificados. La
inicializacin de un arreglo consta de tres componentes:
Nombre de la variable
ndice
Valor

Arreglos, ArrayList y Cadenas

Inicializacin de Arreglos en Java


Un arreglo se puede inicializar de dos maneras diferentes:
Declare la matriz, luego inicialice cada elemento.
data_type[ ] variable_name = new data_type[size];
variable_name[index] = value; //repeat for each index

Un arreglo se puede inicializar de dos maneras diferentes:


Realice la declaracin y la inicializacin en el mismo paso.
data_type[] variable_name = {val1, val2, };

Arreglos, ArrayList y Cadenas

Acceso a la longitud de un Arreglo


Con cada declaracin de un arreglo, puede definir el tamao o la
longitud del arreglo.
La longitud se almacena como variable de una instancia para ese
objeto y se puede acceder usando la notacin
arrayName.length.
Esta tcnica es til en el siguiente ejemplo:
Establecer un arreglo cuyo tamao se base en el ingreso del
usuario.
Ingresar un segmento de cdigo donde el ingreso del usuario
ya no se encuentra en el mbito.

Arreglos, ArrayList y Cadenas

Acceso a la longitud de un Arreglo


Necesitar acceder a la longitud de la variable de la instancia
para ese arreglo.
En resumen, arrayName.length devuelve la longitud del
arreglo, arrayName.

int[] allTwos = new int[10];


for(int index = 0; index < allTwos.length; index++){
allTwos[index] = 2;
}

Arreglos, ArrayList y Cadenas

Arreglos Bidimensionales
Qu sabemos acerca de los arreglos:
Los arreglos son un tipo de objeto que puede almacenar
cualquier tipo primitivo o de objeto.
Por lo tanto, los arreglos pueden almacenar arreglos.
El concepto de almacenamiento de un arreglo de arreglos se
denomina Arreglos bidimensionales o Matrices.
La cantidad de arreglos contenidas en un arreglo se define en la
declaracin.
La cantidad de elementos en cada arreglo interno se define
tambin en el momento de la declaracin.

Arreglos, ArrayList y Cadenas

Arreglos Bidimensionales
Una matriz se puede visualizar como una tabla con filas y
columnas.

Ejemplo:
int [ ][ ] nums = { {14,51,16}, {12,73,87} };

Arreglos, ArrayList y Cadenas

Arreglos Bidimensionales
Ejemplos:
int[ ][ ] myArray;
myArray = new int[2][3];
char[ ][ ] sentence = new char[10][10];

Arreglos, ArrayList y Cadenas

Longitud de Arreglos Bidimensionales


La longitud es una variable de la instancia definida por el tamao de
cada matriz declarada.

Las matrices bidimensionales tienen dos longitudes diferentes:


Longitud del arreglo externo.
Longitud de los arreglos internos.
Se accede a la longitud del arreglo externo, que es la longitud que
describe la cantidad de arreglos contenidos (filas), como a un arreglo
tpico.
int numArrays = arrayName.length;

Arreglos, ArrayList y Cadenas

Longitud de Arreglos Bidimensionales

Se accede a la longitud de los arreglos internos, que es la longitud


que describe la cantidad de elementos que contiene cada arreglo
(columnas), usando la siguiente notacin. Los corchetes [ ] le indican
al programa que estn accediendo a la longitud de los arreglos
internos y la fila indica cul es el arreglo.
int numElementsInEach = arrayName[row].length;

Arreglos, ArrayList y Cadenas

Clase ArrayList
La clase ArrayList podramos encuadrarla de la siguiente
manera: Colecciones --> Listas --> ArrayList.

Un objeto ArrayList ser una lista redimensionable en la que


tendremos disponibles los mtodos ms habituales para
operar con listas.
Esta clase pertenece a la biblioteca java.util. Por tanto, para
emplearla en nuestras clases o programas escribiremos como
cdigo en cabecera import java.util.ArrayList (o de forma ms
genrica import java.util.*).

Arreglos, ArrayList y Cadenas

Clase ArrayList
Como mtodos para operar con listas podemos sealar:
Aadir un objeto en una posicin determinada,
Aadir un objeto al final de la lista,
Recuperar un objeto situado en determinada posicin, etc.

Los objetos de un ArrayList tienen un orden, que es el orden


en el que se insertaron en la lista.
Un aspecto a tener muy presente: hablamos de colecciones de
objetos. Por tanto, un ArrayList no puede ser una lista de
enteros como tipo primitivo (int) pero s de objetos Integer.

Arreglos, ArrayList y Cadenas

Clase ArrayList
Declaracin del objeto ArrayList :

ArrayList <TipoDeObjetosEnLaColeccin> NombreDelArrayList;


Creacin de un objeto:
NombreDeObjeto = new ArrayList <TipodeObjetosEnLaColeccin> ();

Uso del mtodo reemplazar objeto existente:

NombreDelArrayList.set (int ndice, E elemento);


Uso del mtodo aadir al final:

NombreDelArrayList.add (objeto_a_aadir);

Arreglos, ArrayList y Cadenas

Clase ArrayList
Uso del mtodo obtener el nmero de objetos en la lista:

NombreDelArrayList.size();
Uso del mtodo extraer un objeto de cierta posicin:

NombreDelArrayList.get (posicin);

Arreglos, ArrayList y Cadenas

Operacin con Cadenas (String)


Un String es un objeto que contiene una secuencia de
caracteres. La declaracin y la creacin de una instancia de
String es muy parecida a la variable de cualquier otro objeto.
Sin embargo, existen diferencias:
Se puede crear una instancia (creacin) sin utilizar la
palabra clave nueva.
Son inmutables. Una vez creada la instancia, son definitivas
y no se pueden cambiar.
Si intenta modificar un String, no se modifica, se crea un
nuevo objeto de String.

Arreglos, ArrayList y Cadenas

Operacin con Cadenas (String) - Ejemplo

Arreglos, ArrayList y Cadenas

Referencia de un String
Cuando crea una referencia a un Objeto o String, el objeto no
necesariamente existe an.
En el cdigo a continuacin, el nombre (name) no se
encuentra inicializado, por lo que el programa no se compilar,
debido a que el nombre de la variable es un puntero no vlido.
String name;
System.out.println(My name is + name);

Arreglos, ArrayList y Cadenas

Referencia de un String
En este cdigo, existe un objeto de String y name hace
referencia a este. El nombre de referencia name2 es null.
Cmo cambia la memoria esta lnea?
String name,name2;
name=Mya;
name

name2
Mya

name2=name;

name

name2
Mya

Arreglos, ArrayList y Cadenas

Concatenacin de un String
Concatenar dos Strings juntos con los operadores + y +=.
El smbolo + se usa para concatenar dos Strings juntos.
El smbolo += se usa para concatenar dos Strings juntos y
asignrselo a s mismo en la misma operacin.

Cul ser el resultado


de lo siguiente?:

String s1 = This is a ;
String s2 = string;
String s3 = s1 + s2;
String s4 = This is a + s2;
String s1 += s2;
System.out.println(s1: + s1);
System.out.println(s2: + s2);
System.out.println(s3: + s3);
System.out.println(s4: + s4);

Arreglos, ArrayList y Cadenas

Comparacin de un String
Existen mtodos que se pueden utilizar al comparar Strings.
Mtodo: s1.compareTo(s2)
Se deber usar al tratar de encontrar el orden lexicogrfico
de dos Strings.
Devuelve un entero.
Si s1 es menor de s2, devuelve un entero < 0.
Si s1 es igual a s2, devuelve 0.
Si s1 es mayor que s2, devuelve un entero > 0.

Arreglos, ArrayList y Cadenas

Comparacin de un String
Mtodo: s1.equals(s2)
Se debe utilizar slo cuando desea descubrir si dos Strings
son iguales.
Devuelve un valor booleano.
Si devuelve true, s1 es igual a s2.
Si devuelve false, s1 no es igual a s2.

Se debe evitar el uso del operador == para comparar Strings.

Вам также может понравиться