Escolar Documentos
Profissional Documentos
Cultura Documentos
Índice
Cadenas de caracteres: la clase String ... 2
Creación de cadenas ... 3
Curso de Java Lectura, longitud y acceso a los caracteres individuales ... 4
Comparación de cadenas ... 5
Concatenación ... 7
El método estándar toString ... 8
Subcadenas ... 9
Ejemplos ... 10
Colecciones en Java Una clase con atributos de clase String ... 16
La clase Array ... 19
Acceso a los elementos del array ... 21
Arrays de objetos ... 23
Una clase Lista ... 24
public String toString() { // Clase Cuenta Para saber si un cadena se encuentra dentro de la cadena receptora
return "Número de la cuenta: " + _num se utiliza el método indexOf(String), que devuelve el carácter
+ "\nD.N.I. del cliente: “ + _dni + "\nSaldo: " en el que empieza esa cadena como subcadena en la receptora
+ _saldo + " euros\nInterés: " + _interes + " %"; (-1 si no se encuentra).
} Cadenas.java
cad cad
H o l a H o l a
i = 0 i = 0
inversa = cad.substring(0, 1) + inversa; inversa = cad.substring(0, 1) + inversa;
H H
H
inversa inversa
public String nombreCompleto() { // nombre y apellidos La forma más básica de crear colecciones en Java (distintas de las
return nombre + " " + apellidos;
}
cadenas de caracteres) es utilizando arrays.
Para crear arrays Java proporciona la clase Array.
public void leer() { // lectura de los datos de la persona
nif.leer();
Los arrays son, por tanto, objetos que se han de crear.
System.out.print("Nombre: "); Para declarar una variable array se indica el tipo (o clase)
nombre = MyInput.readString();
System.out.print("Apellidos: ");
de los elementos que se van a colocar en el mismo y unos corchetes
apellidos = MyInput.readString(); para especificar que se trata de un array. Los corchetes pueden ir
System.out.print("Edad: "); detrás del tipo o detrás del nombre de la variable:
edad = MyInput.readInt();
} double numeros[];
} double[] masNumeros;
Cuenta[] banco;
Empleado empresa[];
bool[] interruptores;
Los arrays son colecciones homogéneas, de forma que todos los
Persona.java elementos son de un mismo tipo (el tipo base del array).
Todavía no tenemos ningún array disponible. Como los arrays son Acceso a los elementos del array
objetos hay que crearlos, como siempre con la instrucción new.
Las posiciones del array se acceden por índice, siempre un entero.
En la creación es cuando se especifica la longitud del array, Para acceder a un elemento del array se pone el índice entre
el número de posiciones (elementos) que se desea tener. corchetes a continuación del nombre del array:
La capacidad se indica entre corchetes a continuación del tipo: numeros[índice] banco[índice]
numeros = new double[10];
masNumeros = new double[25]; La primera posición del array es la 0 y la última la longitud menos 1.
banco = new Cuenta[1000]; Debemos asegurarnos de que la posición a la que queramos acceder
empresa = new Empleado[60]; sea una posición válida. Si no, se elevará una excepción y se
interruptores = new bool[4];
interrumpirá la ejecución del programa.
Y, por supuesto, se pueden crear al declararlos: Los elementos del array numeros son:
double numeros[] = new double[10];
numeros[0] numeros[1] numeros[2] ... numeros[9]
double[] masNumeros = new double[25];
Cuenta[] banco = new Cuenta[1000]; Y los del array banco son:
Empleado empresa[] = new Empleado[60];
banco[0] banco[1] banco[2] ... banco[999]
bool[] interruptores = new bool[4];
Los arrays disponen de una propiedad (atributo público) denominada Vamos a usar la clase Array para crear listas de objetos.
length que contiene el número de posiciones del array.
El array lo necesitamos para mantener los distintos objetos que
int longitud = numeros.length; // No es un método! se coloquen en la lista (bueno, las referencias a los objetos).
Se recomienda utilizar la propiedad length en lugar del número de Para guardar objetos de una clase en un array basta con definir
posiciones indicado al crear el array. un array cuyo tipo base sea esa clase:
for(int i = 0; i < banco.length; i++) Persona _array[];
banco[i].println();
Y como ya sabemos, el array se crea así:
Cuando se trabaja con arrays de objetos, antes de acceder a un
_array = new Persona[100];
objeto de una posición del array hay que estar seguro de que en
esa posición efectivamente hay un objeto (se apunta a un objeto). El array ya está listo para que se asignen Personas a las distintas
No hay que olvidar que se trata de referencias. posiciones del array según se necesite.
for(int i = 0; i < banco.length; i++) La creación del array no crea ningún objeto de clase Persona.
if(banco[i] != null) banco[i].println(); Las Personas que se quieran colocar en el array se deberán crear
Sea como sea, hay que estar seguro. antes de colocarlas.
La lista es una estructura de datos y como tal es un elemento de Atributos de la clase Lista
programa independiente que debe estar implementado en una clase. No necesitamos más datos, por lo que la lista de atributos será:
El array de objetos será un atributo de la clase Lista. public class Lista {
Como en el array no tienen por qué estar todas las posiciones private final static int MAX = 100;
ocupadas por objetos que se hayan insertado en la lista, private Persona _array[];
private int _cont = 0; // Indica la primera posición
debemos saber cuántas posiciones están ocupadas
// libre del array. Igual al número de elementos.
en cada momento (y cuáles). ...
Lo mejor es mantener todos los objetos en posiciones contiguas, MAX es una constante de clase.
a partir de la primera (la 0), de forma que lo único que necesitamos
saber es cuántos hay. Bastará un contador de elementos.
El contador de elementos será otro atributo de la clase Lista.
El contador de elementos indicará la primera posición que está
disponible. Lo inicializaremos a cero y no cabrán más objetos en la
lista cuando valga MAX, una constante de la clase.
Lista.java PruebaLista.java
public class Maximo { Crea una clase Tablero que modele un tablero de 5x5;
static int mayor(int[][] a){
Atributos:
int mayor=a[0][0];
La matriz que representa al tablero
for(int i=0; i<a.length; i++){
for(int j=0; j<a[i].length;j++){ Métodos:
if (mayor<a[i][j]) mayor=a[i][j]; } Constructor : inicializa el tablero con valores double aleatorios
} (entre 0 y 1)
return mayor; toString() : permite mostrar el tablero en formato filas y
} columnas
public static void main(String[] args) { vacia(int fil, int col) : pone a cero la casilla indicada por
int[][]m = {{23,3,95},{13,42,12}}; los parámetros
System.out.println(mayor(m));
} Crea una clase PruebaTablero que cree un tablero de ejemplo y lo
} muestre PruebaTablero.java Tablero.java
Luis Hernández Yáñez Luis Hernández Yáñez
Curso de Java Tema 5 – Colecciones - 34 Curso de Java Tema 5 – Colecciones - 35
Carlos Cervigón Rückauer Carlos Cervigón Rückauer