Professional Documents
Culture Documents
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
Java
Arrays y Cadenas
Java
Arrays y Cadenas
Strings
La clase java.lang.String implementa cadenas Las cadenas son objetos constantes e inmutables
n n
Cadenas
Creacin de cadenas
n n
String cadena = new String(); // creacin de una cadena vaca Diversos constructores
w String( String cadena ); w String( char array[] ); w String( char array[],int desplazamiento,int cuenta );
Java
Arrays y Cadenas
Comparacin de cadenas
Con equals() se sabe si dos cadenas son iguales
n n
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
Cuando se concatenan cadenas se realiza copia de los operandos Una cadena se puede concatenar con cualquier otro valor de otro tipo de datos
Tiene otros muchos mtodos de utilidad => consultar en laJava API de Java Arrays y Cadenas
Cadenas y objetos
n
Conversin de Cadenas
Integer(String s); //String a Integer Integer(int i); //primitivo a Integer Integer.valueOf("4"); //String a Integer int i = 4; Integer objInt = new Integer(i); int j = objInt.intValue(); //Integer a primitivo String s = objInt.toString(); //Integer a String int k = Integer.parseInt("4"); //String a primitivo
Java Arrays y Cadenas 8
Cadenas y objetos
public class class Punto Punto { { public int x; x; int y; y; int int public Punto(int Punto(int x, x, int int y) y) { { this.x this.x = = x; x; public this.y = = y;} y;} this.y public String String toString() toString() { { public return Punto[ Punto[ + +x x+ + , , + +y y+ + return ]; } } ]; public static static void void main(String main(String args[]) args[]) { { public Punto punto punto = = new new Punto(2,3); Punto(2,3); Punto System.out.println( "visualizar "visualizar datos datos System.out.println( del punto+ punto+ punto punto );}} );}} del
Java Arrays y Cadenas 9
API de String
Method Summary
char charAt(int index) Returns the character at the specified index. int compareTo (Object o ) Compares this String to another Object. int compareTo (StringanotherString ) Compares two strings lexicographically. int compareToIgnoreCase(String str ) Compares two strings lexicographically, ignoring case considerat ions. String concat(String s t r) Concatenates the specified string to the end of this string. boolea n
contentEquals(StringBuffersb) Returns true if and only if this String represents the same sequence of characters as the specified StringBuffer .
static St copyValueOf (char[] data) ring Returns a String that represents the character sequence in the array specified. static St copyValueOf (char[] data, int offset, int count) ring Returns a String that represents the character sequence in the array specified. boolea endsWith (String suffix) n Tests if this string ends with the specified suffix. boolea equals(Object anObject ) n Compares this string to the specified object. boolea equalsIgnoreCase(String anotherString ) n Compares this String to another String, ignoring case considerations.
Java
Arrays y Cadenas
10
Arrays
Coleccin de variables todas del mismo tipo
w Tamao fijo w Pueden ser variables simples o referencias a objetos
Arrays
int iArray[] = new int[3]; // array of 3 ints
iArray
// vector es un array de enteros // igual que la declaracin anterior // ERROR: no se especifica el tamao
Arrays y Cadenas 11
Java
Arrays y Cadenas
12
Arrays
Definicin: reserva de la memoria para el array
n
Arrays
Empleado[ ] empArray = new Empleado[5];
empArray
null
// array de 10 enteros:
En este momento se especifica el tamao del array (que no forma parte del tipo de datos)
Java Arrays y Cadenas 13 Java
null
Arrays y Cadenas
14
array
null array
0 1 2
arrayCadenas
0 1 2
null
Java
Arrays y Cadenas
15
Java
Arrays y Cadenas
16
Arrays
n
n n
n n
String [] arrayCadenas ; // Definicin: reserva de memoria para las referencias a los objetos arraysCadenas = new String[10]; // iniacilizacin reserva de memoria para los objetos del array for (int i=0; i<arrayCadenas .length; i++) arrrayCadenas [i] = new String();
0 1 2
A.length // correcto A.length() // ERROR: no se usan parntesis for (int i = 0; i < A.length; i++) A[i]=i;
arrayCadenas
Java
9 Arrays y Cadenas
17
Java
Arrays y Cadenas
18
Arrays
n
Arrays multidimensionales
Array de arrays
n
Se puede especificar una lista de inicializacin n int[] arrayNumeros = { 147, 323, 89 }; w No se utiliza el operador new y no se especifica el tamao El paso de los arrays a los mtodos es por referencia w Se pasa la referencia al array (como con todos los objetos) El tamao del array no es parte del tipo w Una variable de tipo String[] puede almacenar cualquier array de cadenas de cualquier tamao
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
Se permiten declaraciones parciales en las que al final pueden existir dimensiones sin especificar
n
Java
Arrays y Cadenas
19
Arrays multidimensionales
n
Arrays multidimensionales
n
Una vez que se reserva el espacio de memoria el tamao de un array no puede cambiar
n n
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
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
21
Java
Arrays y Cadenas
22
Arrays
Lmites de los arra.y
n n
Todos los vectores empiezan por 0. El nmero de elementos del vector se almacena en el atributo length del propio vector.
Un array no se puede redimensionar Se puede utilizar la misma variable referencia para apuntar a otro vector diferente: int elements [ ] = new int [6]; elements = new int [10];
Java Arrays y Cadenas 23