Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java

Anuncio
Unidad II
Tema 3: Tratamiento de arreglos y
cadenas en Java
Profesor: Jorge Escalona / Tobías Bolívar
Email: [email protected] / [email protected]
Página Web: http://estructuradatos.tripod.com
Estucturas de Datos
Página 1
Unidad II: Tratamiento de arreglos y cadenas en Java
Qué es un Arreglo?
Un arreglo (matriz, vector, lista) es un tipo especial de
objeto compuesto por una colección de elementos del
mismo tipo de datos que se almacenan consecutivamente
en memoria. Ej.
lista[0]
lista[1]
lista -- nombre
[i] -- índice
lista[2]
lista[3]
lista[4]
lista[5]
Estucturas de Datos
Página 2
Propiedades de Arreglos
•
•
•
•
Los arreglos son objetos
Son creados dinámicamente (en run time)
Pueden ser asignados a variables de tipo Object
Cualquier método de la clase Object puede ser invocado en un arreglo
•
•
•
Un objeto arreglo contiene una secuencia de variables del mismo tipo
Las variables son llamadas los componentes del arreglo
Si el tipo del componente es T, entonces el arreglo en sí mismo es de tipo T[]
•
•
•
•
•
El tipo de componente puede ser tipo arreglo (arreglo de arreglos)
El tipo de elemento puede ser tanto un tipo primitivo o un objeto (referencia)
La longitud (length) de un arreglo es su número de componentes
La longitud de un arreglo es definida cuando el arreglo es creado y no puede ser cambiado.
La longitud del arreglo puede ser accesada como una instancia de variable declarada como
public final
Los arreglos deben ser indexados por variables enteras en el rango 0.. length -1
Un ArrayIndexOutBoundException es generada si es violada la regla anterior.
Variables de tipo short, byte o char pueden ser usadas como índices.
•
•
•
Estucturas de Datos
Página 3
Unidad II: Tratamiento de arreglos y cadenas en Java
Arreglos Lineales o Unidimensionales
Estos arreglos constituyen una lista de variables relacionadas. La forma
de acceso a cada uno de sus diferentes valores, es usando acompañando
al nombre de la variable más un índice: nombreArreglo [índice]. Los
índices están en el rango de 0 a tamaño-1.
Declaración:
tipoDato[] nombreArreglo;
o
tipoDato nombreArreglo [];
Creación:
NombreArreglo = new tipoDato[n];
Ejemplo:
int lista[];
lista= new int[10];
Estucturas de Datos
Página 4
Unidad II: Tratamiento de arreglos y cadenas en Java
Arreglos Lineales o Unidimensionales
Inicialización
tipoDato nombreArreglo[]={valor1,valor2,…,valorN}; //Este caso no
requiere el uso de new
Ejemplo:
double [] lista = {1.5,2.45,3.15}
Recorrido, Inserción y Eliminación
Observe el siguiente ejemplo:
Estucturas de Datos
Página 5
Unidad II: Tratamiento de arreglos y cadenas en Java
Arreglos Lineales o Unidimensionales
public class Vectores
{
public static void main(String [] args)
{
int elementos [] = new int [10];
int n_elem;
n_elem =agregarElemVector(elementos,11,n_elem);
n_elem =agregarElemVector(elementos,5,n_elem);
n_elem =agregarElemVector(elementos,8,n_elem);
mostrarVector(elementos, n_elem);
n_elem =elimElemVector(elementos,n_elem);
mostrarVector(elementos, n_elem);
System.out.println(“La media del Vector es: ”+ media(elementos, n_elem));
}
Estucturas de Datos
Página 6
Unidad II: Tratamiento de arreglos y cadenas en Java
Arreglos Lineales o Unidimensionales
public void mostrarVector (int datos[], int n )
{ //Se recorre el vector para mostrar sus datos
int i;
For (i=0; i< n; i++)
System.out.println(datos[i]);
}
public int agregarElemVector (int datos[], int elem, int n )
{ //Agrega un elemento al final del vector
if (n<datos.length)
datos[++n]= elem;
return n;
}
Estucturas de Datos
Página 7
Unidad II: Tratamiento de arreglos y cadenas en Java
Arreglos Lineales o Unidimensionales
public int elimElemVector (int datos[], int n )
{ //Elimina el ultimo elemento del vector
if (n>=0)
n--;
return n;
}
public float media (int datos[], int n )
{ //Se recorre el vector para calcular la media de sus datos
int i;
int suma = 0;
For (i=0; i< n; i++)
suma+=datos[i]);
return suma/n;
}
}
Estucturas de Datos
Página 8
Unidad II: Tratamiento de arreglos y cadenas en Java
Arreglos Multidimensionales
Estos arreglos están formados por dos o más índices. Los ejemplos más
comunes son los arreglos bidimensionales conocidos como tablas o
matrices.
Declaración:
tipoDato nombreArreglo[][];
Creación:
NombreArreglo = new tipoDato[n][m];
Ejemplo:
int matriz[][];
matriz= new int[10][5];
Estucturas de Datos
Página 9
Unidad II: Tratamiento de arreglos y cadenas en Java
Operaciones con Cadenas
Las cadenas o String constituyen una de las clases más frecuentemente
utilizada en los programas de Java. Por ser un objeto, las cadenas
presentan una serie de propiedades y comportamientos que se
explicarán a continuación. En Java las cadenas son inalterables.
Declaración:
String nombreCadena;
Ejemplo:
Creación:
String nombre;
nombreCadena = “<valor>”;
nombre= “Roberto”;
o
nombreCadena = new String (“<valor>”); o
nombre= new String (“Roberto”);
o
nombreCadena = new String (otraCadena);
Estucturas de Datos
Página 10
Unidad II: Tratamiento de arreglos y cadenas en Java
Operaciones con Cadenas
Métodos:
boolean equal (String str)
Devuelve true si la cadena invocada contiene la misma secuencia de caracteres
que str.
int length()
Obtiene la longitud de una cadena.
char charAt (int index)
Obtiene el carácter que se encuentra en una posición determinada de la cadena
por el índice especificado por index.
int compareTo (String str)
Retorna un valor menor que 0 si la cadena invocada es menor que str, y un valor
mayor a 0 si la cadena invocada es mayor que str, y 0 si las cadenas son iguales.
int indexOf (String str)
Busca en la cadena invocada la subcadena especificada por str. Regresa el
índice de la primera correspondencia o -1 en caso de falla.
int lastIndexOf (String str)
Busca en la cadena invocada la subcadena especificada por str. Regresa el
índice de la última correspondencia o -1 en caso de falla.
Estucturas de Datos
Página 11
Unidad II: Tratamiento de arreglos y cadenas en Java
Operaciones con Cadenas
Métodos:
String concat (String str)
Retorna una cadena que es resultado de la concatenación de la cadena invocada
con la cadena str.
String substring(int inicio, [int Extrae una subcadena de la cadena invocada. Si se especifica un parámetro, el
fin])
método devuelve una nueva cadena que comienza donde indica inicio y se
extiende hasta el fina de las misma. Si son dos, la nueva cadena estará formada
por los caracteres existentes en la cadena invocada entre la posición inicio y fin,
ambos inclusive
char[] toCharArray ()
Devuelve un arreglo de caracteres creado a partir del objeto String.
String replace (char oldChar, Devuelve una cadena resultante de reemplazar todas las apariciones de oldChar
char newChar)
con el newChar.
String trim ()
Elimina los espacios en blanco que pudieran existir al principio o al final de una
cadena.
String toLowerCase ()
Convierte a minúscula las mayúsculas de la cadena invocada
Estucturas de Datos
Página 12
Unidad II: Tratamiento de arreglos y cadenas en Java
Operaciones con Cadenas
Métodos:
String toUpperCase ()
Convierte a mayúsculas las minúsculas de la cadena invocada.
String valueOf( tipoDato Arg) Crean cadenas a partir del correspodiente parámetro y devuelven dicha cadenas.
El argumento de este método puede ser: boolean, char, char[], double, float, int,
long, object.
Estucturas de Datos
Página 13
Descargar