Beruflich Dokumente
Kultur Dokumente
Tanto los arrays como las cadenas son tipos de objetos privilegiados en Java ya que existen facilidades que simplifican su manejo Por ejemplo se proporcionan primitivas que simplifican su creacin y su inicializacin La clase String se incluye en el API estndar de Java dentro del paquete bsico java.lang
Cadenas y Arrays
Java
Arrays y Cadenas
BFM
Java
Arrays y Cadenas
BFM
Cadenas
La clase java.lang.String implementa cadenas Las cadenas son objetos constantes e inmutables Su tamao es constante Cambiar una cadena significa construir una nueva Creacin de cadenas String saludo = hola; // creacin de una cadena asignando un literal String cadena = new String(); // creacin de una cadena vaca Diversos constructores
String( String cadena ); String( char array[] ); String( char array[],int desplazamiento,int cuenta );
Comparacin de cadenas
Con equals() se sabe si dos cadenas son iguales Con == se comparan referencias Se diferencia entre maysculas y minsculas Con equalsIgnoreCase() no se diferencia entre maysculas y minsculas Con compareTo() se obtiene <0, 0, >0 segn el argumento sea menor, igual o mayor que la cadena Con toLowerCase() y con toUpperCase() se convierte una cadena a minculas o maysculas respectivamente
Java
Arrays y Cadenas
Cadenas y objetos
Con valueOf() se obtiene una representacin de cadena de una variable u objeto
Cuando se concatenan cadenas se realiza copia de los operandos Una cadena se puede concatenar con cualquier otro valor de otro tipo de datos Con charAt(indice ) se obtiene el carcter situado en la posicin ndice de la cadena La primera posicin de una cadena, si existe, es la posicin 0 Tiene otros muchos mtodos de utilidad => consultar en la API de Java
Java Arrays y Cadenas BFM 5 Java
Conversin directa de un tipo bsico en cadena Llamada a toString() para cualquier otro objeto
Redefiniendolo se puede obtener una representacin como cadena del objeto (muy til en depuracin)
public class Punto { int x; int y; public Punto(int x, int y) { this.x = x; this.y = y;} public String toString() { return Punto[ + x + , + y + ]; } public static void main(String args[]) { Punto punto = new Punto(2,3); System.out.println( "visualizar datos del punto+ punto );}}
Arrays y Cadenas
BFM
API de String
Method Summary
char int int int String boolean contentEquals(StringBuffer sb) charAt(int index)
Arrays
Coleccin de variables todas del mismo tipo
Tamao fijo Pueden ser variables simples o referencias a objetos tipoValor [] variableArray; tipoValor variableArray [];
int vector[]; int [] vector; int vector[10]; // vector es un array de enteros // igual que la declaracin anterior // ERROR: no se especifica el tamao en la declaracin
Array de tipos bsicos de datos Definicin: reserva de la memoria para el array Antes de usarse, un array tiene que crearse (con new):
int vector[] = new int[10]; // array de 10 enteros: vector[0]..vector[9]
Returns true if and only if this String represents the same sequence of characters as the specified StringBuffer.
copyValueOf(char[] data)
Returns a String that represents the character sequence in the array specified.
copyValueOf(char[] data, int offset, int count)
Returns a String that represents the character sequence in the array specified.
endsWith(String suffix)
En este momento se especifica el tamao del array (que no forma parte del tipo de datos)
7 Java Arrays y Cadenas BFM 8
Java
Arrays y Cadenas
BFM
variableArray[indice]
primer elemento indice 0
// un array de cadenas -- Referencias a cadenas // S es una cadena y T un array de cadenas // Ambos, S y T, son arrays de cadenas
Objetos
String [] arrayCadenas; // Definicin: reserva de memoria para las referencias a los objetos arraysCadenas = new String[10]; arrayCadenas // iniacilizacin reserva de memoria para los objetos del array for (int i=0; i<arrayCadenas.length; i++) arrrayCadenas[i] = new String(); arrayCadenas 0 1 2
null
Java
Arrays y Cadenas
BFM
Java
Arrays y Cadenas
BFM
10
Arrays
Tamao de un array: miembro length
A.length // correcto A.length() // ERROR: no se usan parntesis for (int i = 0; i < A.length; i++) A[i]=i;
Arrays multidimensionales
Array de arrays Declaracin, definicin e inicializacin
int[][] array; // creacin de la referencia array = new int[2]; // array con dos filas for (int i = 0; i < array.length; i++) array[i] = new int[5]; // cada fila puede tener distinto tamao
Si se intenta acceder fuera de los lmites del array (entre 0 y length-1), se produce la excepcin IndexOutOfBoundsException.
int[] arrayNumeros = { 147, 323, 89 };
No se utiliza el operador new y no se especifica el tamao Se pasa la referencia al array (como con todos los objetos) Una variable de tipo String[] puede almacenar cualquier array de cadenas de cualquier tamao
BFM 11 Java
Se permiten declaraciones parciales en las que al final pueden existir dimensiones sin especificar
int[][] arrayPar = new int[3][];
Java
Arrays y Cadenas
Arrays y Cadenas
BFM
12
Arrays multidimensionales
Inicializacin mediante listas
Arrays
Los arrays son la nica coleccin directamente implementada en Java Implementa directamente los interfaces Serializable y Clonable
static int[] cloneArray(int original[]) { return (int[])original.clone(); }
int[] array = { 2, 3, 4}; int[] otro= (int[])array.clone(); for (int i=0; i<array.length; i++) System.out.println("num: "+array[i]); otro[2]=2; for (int i=0; i<otro.length; i++) System.out.println("num: "+otro[i]);
13 Java Arrays y Cadenas BFM 14
int[][] array = { {79, 87, 94, 82, 67}, {98, 87, 81, 74, 91} };
array
79 87 94 82 67
0,0 0,1 0,2 0,3 0,4
98 87 81 74 91
1,0 1,1 1,2 1,3 1,4
Arrays Una vez que se reserva el espacio de memoria el tamao de un array no puede cambiar
String[] miArray = new String[20]; miArray = new String[10]; // correcto se pierde la referencia al array anterior miArray.length = 30; // ERROR - no permitido
Java
Arrays y Cadenas
BFM