28
Manejo de Arreglos y Cadenas ISC. Cynthia Bernabe Pacheco

Manejo de Arreglos en Java

Embed Size (px)

Citation preview

Page 1: Manejo de Arreglos en Java

Manejo de Arreglos y Cadenas

ISC. Cynthia Bernabe Pacheco

Page 2: Manejo de Arreglos en Java

El Principal Problema: Crear muchasVariables del mismo Tipo.

ISC. Cynthia Bernabe Pacheco

Page 3: Manejo de Arreglos en Java

La Solución: El manejo de ArreglosvUn Arreglo es una secuencia de datos del mismo

tipo.

v Los datos se llaman Elementos del arreglo y seenumeran 0,1,2….

vEstos números localizan al elemento dentro d elarreglo y se denominan Índices.

v En java, los índices del arreglo empiezan con 0 yterminan con el tamaño del arreglo -1.

ISC. Cynthia Bernabe Pacheco

Page 4: Manejo de Arreglos en Java

Matrices, Arreglos(arrays) o vectoresv Son las formas de registrar conjuntos de valores todos

del mismo tipo.vEs una estructura homogénea, compuesta por varios

elementos, todos del mismo tipo y almacenadosconsecutivamente en memoria.

vEs un objeto en el que se puede almacenar unconjunto de datos del mismo tipo.

vEs una colección de posiciones de almacenamiento dedatos, donde cada una tiene el mismo tipo y el mismonombre Cada posición de almacenamiento en unarreglo es llamada elemento del arreglo.

ISC. Cynthia Bernabe Pacheco

Page 5: Manejo de Arreglos en Java

Manejo de Arreglosv Si el arreglo tiene n elementos, se denotan como

a[0],a[1], a[2]………a[n-1].

ISC. Cynthia Bernabe Pacheco

vLas variables son comocarpetas individuales y unarreglo es como una solacarpeta con muchoscompartimentos.v Los elementos del arreglo songuardados en posicionessecuenciales en memoria.

Page 6: Manejo de Arreglos en Java

Declaración de un arreglov La sintaxis de declaración de arreglos en Java es:- Tipo [ ] identificador;- Tipo identificador [ ];v Ejemplos:char cad[ ] , p;int [ ] v, w;double [ ] m, t [ ] ,x;v En un Arreglo no se permite indicar el numero de

elementos asi:int números [12] ; // es Erróneo

ISC. Cynthia Bernabe Pacheco

Page 7: Manejo de Arreglos en Java

Definir Arreglo de número deelementos

v Sintaxis para definir arreglo de un numerodeterminado de elementos:

- Tipo nombreArreglo [ ]= new tipo [numElem];

- Tipo nombreArreglo [ ];

nombreArreglo =new tipo[numElem];

vEjemplo:

float notas = new float[26];

Int [ ] a;

a = new int [10];ISC. Cynthia Bernabe Pacheco

Page 8: Manejo de Arreglos en Java

Tamaño del Arreglov Java considera cada arreglo como un objeto

vEl número de elementos de un arreglo se conoceaccediendo al campo length.

vEjemplo:

double [ ] v = new double [15];

System.out.print(v.length); // escribe 15

v El campo length esta protegido no se puedemodificar.

ISC. Cynthia Bernabe Pacheco

Page 9: Manejo de Arreglos en Java

Inicialización de Arreglosv Se deben asignar valores a los arreglos antes de

utilizarlos por defecto se inicializan con 0.-precio[0]=10;precio[1]=20;precio[2]=30;-int numeros [ ]={10,20,30,40,50};-char c[ ]={‘L’,’u’,’i’,’s’}:-FINAL int ENE=31,FEB=28,MAR=31,ABR=30;-int meses []={ENE,FEB,MAR,ABR};-for (int i=0, i<numeros.length;i++)numeros[i]=i;

ISC. Cynthia Bernabe Pacheco

Page 10: Manejo de Arreglos en Java

Acceso a los elementos del arreglovEl acceso a los elementos de un arreglo se realiza

utilizando la expresion:

nom_arreglo[indice];

v Si se intenta acceder a un elemento con unsubindice menor que cero o mayor que el numero delementos de la matriz, java lanzara la excepción:

ArrayIndexOutOfBoundsException

ISC. Cynthia Bernabe Pacheco

Page 11: Manejo de Arreglos en Java

ISC. Cynthia Bernabe Pacheco

Acceso a los elementos del arreglo

Page 12: Manejo de Arreglos en Java

Ejercicios que deberá correrse desde lalínea de comando

ISC. Cynthia Bernabe Pacheco

Page 13: Manejo de Arreglos en Java

ISC. Cynthia Bernabe Pacheco

Recorrido de un Arreglo con For:each

Page 14: Manejo de Arreglos en Java

ISC. Cynthia Bernabe Pacheco

Recorrido de un Arreglo con For:each

Page 15: Manejo de Arreglos en Java

Tipos de Arreglos

• Arreglo unidimensional: Un arreglo que tieneun solo subíndice.

• Arreglo bidimensional: Un arreglo que tienedos índices.

• Matrices ó Arreglos multidimensional: Unarreglo que tiene mas de un índice.

Page 16: Manejo de Arreglos en Java

Arreglos Bidimensionales• Este tipo de arreglos al igual que los anteriores es un

tipo de dato estructurado, finito ordenado yhomogéneo. El acceso a ellos también es en formadirecta por medio de un par de índices.

• La representación en memoria se realiza de dosformas: almacenamiento por columnas o porrenglones.

Page 17: Manejo de Arreglos en Java

Arreglos Bidimensionales• Los arreglos bidimensionales se usan para

representar datos que pueden verse como una tablacon filas y columnas. La primera dimensión delarreglo representa las columnas, cada elementocontiene un valor y cada dimensión representa unarelación

Tabla[0][0]Tabla[0][1]Tabla[1][0]Tabla[1][1]Tabla[2][0]Tabla[2][1]Tabla[3][0]Tabla[3][1]

Page 18: Manejo de Arreglos en Java

Declaración de Arreglos Bidimensional

• Para Declarar un array se utilizan corchetespara indicar que se trata de una array y no deuna simple variable del tipo especificado.

Sintaxis:

<tipo datoElemento> <nombreArreglo>[][];

<tipo datoElemento> [][] <nombreArreglo>;

v Ejemplo:

char pantalla[][];

Int [][] sumatoria;

Page 19: Manejo de Arreglos en Java

Creación de Arreglos Bidimensional

• Los arreglos Bidimensionales se crean con eloperador new.

• Sintaxis:

Matriz= new tipo[filas][columnas];

vEjemplo.

int [][] temperaturas = new int [13][45];

Page 20: Manejo de Arreglos en Java

Uso de Arreglos Bidimensional• Para acceder a los elementos de un array,

utilizamos índices (para indicar la posición delelemento dentro del array).

Matriz [indice1][indice2];

Una matriz, en realidad es un vector de vectores

en java, el índice de la primera componente de

un vector es siempre 0, por lo que matriz [0][0]

será el primer elemento de la matriz.

Page 21: Manejo de Arreglos en Java

Obtención del tamaño de un ArreglosBidimensional

• El tamaño del array puede obtenerseutilizando la propiedad array.length;

ü matriz.length nos da el numero de filas

ü matriz[0].length nos da el numero decolumnas.

Por lo tanto, el ultimo elemento de la matriz es:

Matriz[matriz.length-1][matriz[0].lentgh-1];

Page 22: Manejo de Arreglos en Java

Obtención del tamaño de un ArreglosBidimensional

• float ventas[][]={{0.,0.,0.},{1.0,1.0},{-1.0}};

System.out.print(ventas.length); //escribe 3

System.out.print(ventas[0].length); //escribe 3

System.out.print(ventas[1].length); //escribe 2

System.out.print(ventas[2].length); //escribe 1

Page 23: Manejo de Arreglos en Java

Inicialización en la declaración

Podemos asignarle un valor inicial a los

elementos de un array en la propia declaración.

Ejemplo:

int vector [ ][ ]= { { 1,2,3} , [4,5,6} };

El compilador deduce automáticamente lasdimensiones del array.

Page 24: Manejo de Arreglos en Java

Inicialización en la declaración

• double tb[][]={{1.5,-2.5}r {5.0,-0.0,1.5}};

• int []a={l,3,5}, b={2,4,6,8,10};

int mtb[][] ={a, b};

• double [][]gr=new double[3][];

gr[0]=new double[3];

gr[l]=new double[6];

gr[2]=new double[5]

Page 25: Manejo de Arreglos en Java

Acceso a los elementos de un Arraybidimensional

• nombreArreglo[renglón][columna] = valor;

• variable = nombreArreglo[renglón][columna];

Ejemplos:

• Tabla[2][3]=4.5;

• Resistencias[2][4]=50;

• Ventas = Tabla[1] [1];

• Dia = Semana[3][6];

Page 26: Manejo de Arreglos en Java

Acceso a los elementos de un Arraybidimensional

for(ren=0; ren < Matriz.length; ++ren){

for(col=0; col < Matriz [ren] . length; ++col){

System.out.println(Matriz[ren][col]);

}

}

Page 27: Manejo de Arreglos en Java

Conceptos ExtrasLa biblioteca de clases de Java incluye una clase auxiliar llamada

java.util.Arrays que incluye como métodos algunas de las tareas

que se realizan más a menudo con vectores:

• Arrays.sort(v) ordena los elementos del vector.

• Arrays.equals(v1,v2) comprueba si dos vectores son iguales.

• Arrays.fill(v,val) rellena el vector v con el valor val.

• Arrays.toString(v) devuelve una cadena que representa elcontenido del vector.

• Arrays.binarySearch(v, k) busca el valor k dentro del vector v(que previamente ha de estar ordenado).

Page 28: Manejo de Arreglos en Java

Arreglos de mas de dos dimensionesJava proporciona la posibilidad de almacenarvarias dimensiones, por ejemplo un arreglo detres dimensiones Un arreglo tridimensional:

int volumen[ ][ ][ ]=new[181] [178][190];