Las Clases Arrays y String
Las Clases Arrays y String
La clase Arrays
En el paquete java.util se encuentra una clase estática llamada Arrays. Una clase
estática permite ser utilizada como si fuera un objeto (como ocurre con Math). Esta clase
posee métodos muy interesantes para utilizar sobre arrays.
Su uso es
Arrays.método(argumentos);
fill
Permite rellenar todo un array unidimensional con un determinado valor. Sus argumentos
son el array a rellenar y el valor deseado:
También permite decidir desde que índice hasta qué índice rellenamos:
equals
Compara dos arrays y devuelve true si son iguales. Se consideran iguales si son del mismo
tipo, tamaño y contienen los mismos valores.
sort
Permite ordenar un array en orden ascendente. Se pueden ordenar sólo una serie de
elementos desde un determinado punto hasta un determinado punto.
41 51 7 9 12 8 22 73 91 52
Página nº : 1
Clases: Arrays, String y para tipos Básicos
binarySearch
Permite buscar un elemento de forma ultrarrápida en un array ordenado (en un array
desordenado sus resultados son impredecibles). Devuelve el índice en el que está colocado
el elemento o -1 si el elemento no está en el array. Ejemplo:
9 no está en el vector
28 está en el índice 3
El método: System.arraycopy
La clase System también posee un método relacionado con los arrays, dicho método
permite copiar un array en otro. Recibe cinco argumentos: el array que se copia, el índice
desde que se empieza la copia en el origen, el array destino de la copia, el índice desde el
que se copia en el destino, y el tamaño de la copia (número de elementos de la copia).
Página nº : 2
Clases: Arrays, String y para tipos Básicos
En w=v; quiere decir que w apunta a la dirección donde está guardado v, cuando algún
valor de v cambia, también lo hace en w.
Si hacemos:
clase String
Introducción
Para Java las cadenas de texto son objetos especiales. Los textos deben manejarse creando
objetos de tipo String. Ejemplo:
Las cadenas pueden ocupar varias líneas utilizando el operador de concatenación “+”.
String texto2 =”Este es un texto que ocupa “ + “varias líneas, no obstante se
puede “ + “perfectamente encadenar”;
Página nº : 3
Clases: Arrays, String y para tipos Básicos
También se pueden crear objetos String sin utilizar constantes entrecomilladas, usando
otros constructores:
char[] palabra = {‘P’,’a’,’l’,’a’,’b’,’r’,’a’};//Array de char
String cadena = new String(palabra);
String cad1="1234";
String cad2="1334";
valor=cad1.compareTo(cad2);
if(valor==0) System.out.println("Son iguales”);
else if (valor<0) System.out.println(cad1+” es menor que “+ cad2);
else System.out.println(cad1+” es may que “+ cad2);
Página nº : 4
Clases: Arrays, String y para tipos Básicos
Este método pertenece no sólo a la clase String, sino a otras y siempre es un método que
convierte valores de una clase a otra. En el caso de los objetos String, permite convertir
valores que no son de cadena a forma de cadena. Ejemplos:
En el ejemplo se observa que este método pertenece a la clase String directamente, no hay
que utilizar el nombre del objeto creado (como se verá más adelante, es un método
estático).
Es decir: variableString.método(argumentos)
length
Permite devolver la longitud de una cadena (el número de caracteres de la cadena):
String texto=”Prueba”;
System.out.println(texto.length());//Escribe 6
concatenar cadenas
Se puede hacer de dos formas, utilizando el método concat o con el operador +.
Ejemplo:
String s1=”Buenos ”, s2=”días”, s3, s4;
s3 = s1 + s2;
s4 = s1.concat(s2);
charAt
Devuelve un carácter de la cadena. El carácter a devolver se indica por su posición (el
primer carácter es la posición 0) Si la posición es negativa o sobrepasa el tamaño de la
cadena, ocurre un error de ejecución, una excepción tipo
IndexOutOfBoundsException. Ejemplo:
String s=”Prueba”;
char c=s.charAt(2); //c valdrá ‘u’
substring
Da como resultado una porción del texto de la cadena. La porción se toma desde una índice
inicial hasta un índice final (sin incluir ese índice final). Si los índices indicados no son
válidos ocurre una excepción de tipo IndexOutOfBoundsException. Ejemplo:
String s1=”Buenos días”;
String s2=s1.substring(7,10); //s2 = día
indexOf
Devuelve el primer índice en el que aparece un determinado texto en la cadena. En el caso
de que la cadena buscada no se encuentre, devuelve -1. El texto a buscar puede ser char o
String. Ejemplo:
String s1=”Quería decirte que quiero que te vayas”;
System.out.println(s1.indexOf(“que”)); //Da 15
Página nº : 5
Clases: Arrays, String y para tipos Básicos
lastIndexOf
Devuelve el último índice en el que aparece un determinado texto en la cadena. Es casi
idéntica a la anterior, sólo que busca desde el final. Ejemplo:
String s1=”Quería decirte que quiero que te vayas”;
System.out.println(s1.lastIndexOf(“que”); //Da 26
También permite comenzar a buscar desde una determinada posición.
endsWith
Devuelve true si la cadena termina con un determinado texto. Ejemplo:
String s1=”Quería decirte que quiero que te vayas”;
System.out.println(s1.endsWith(“vayas”); //Da true
startsWith
Devuelve true si la cadena empieza con un determinado texto.
replace
Cambia todas las apariciones de un carácter por otro en el texto que se indique y lo
almacena como resultado. El texto original no se cambia, por lo que hay que asignar el
resultado de replace a un String para almacenar el texto cambiado:
String s1=”Mariposa”;
System.out.println(s1.replace(‘a’,’e’));//Da Meripose
System.out.println(s1);//Sigue valiendo Mariposa
replaceAll
Modifica en un texto cada entrada de una cadena por otra y devuelve el resultado. El
primer parámetro es el texto que se busca (que puede ser una expresión regular), el
segundo parámetro es el texto con el que se reemplaza el buscado. La cadena original no se
modifica.
String s1=”Cazar armadillos”;
String s2=s1.replace(“ar”,”er”);//Da Cazer ermadillos
System.out.println(s2);//Sigue valiendo Cazar armadillos
toUpperCase
Devuelve la versión en mayúsculas de la cadena.
toLowerCase
Devuelve la versión en minúsculas de la cadena.
ToCharArray
Obtiene un array de caracteres a partir de una cadena.
Página nº : 6
Clases: Arrays, String y para tipos Básicos
Página nº : 7
Clases: Arrays, String y para tipos Básicos
String s=”2500”;
int y=Integer.parseInt(s);
short z=Short.parseShort(s);
double c=Short.parseDouble(s);
byte x=Byte.parseByte(s); //aquí habría pérdida de información 2500 > 255.
Página nº : 8
Clases: Arrays, String y para tipos Básicos
También está el método en cada una de esas clases que se llama toString (convierte a
String)
Ejemplo:
int x=89;
String cad1=Integer.toString(x);
double d=89.23456789123456d;
String cad2=Double.toString(d);
String cad3=Float.toString((float)d);
Página nº : 9
Clases: Arrays, String y para tipos Básicos
char c;
Character C;
Comprobaciones booleanas
Character.isLowerCase( c )
Character.isUpperCase( c )
Character.isDigit( c )
Character.isSpace( c )
Character.isLetter( c )
Traslaciones de caracteres
char c2 = Character.toLowerCase( c );
char c2 = Character.toUpperCase( c );
Traslaciones de carácter/dígito
Página nº : 10
Clases: Arrays, String y para tipos Básicos
Float.MIN_VALUE
2-149
Float.MAX_VALUE
(2-2-23)·2127
Float.INFINITY_NEGATIV
E
Float.INFINITY_POSITIV
E
Float.NaN valor no válido No un Número
(Not a Number)
Double.MIN_VALUE
Double.MAX_VALUE
Double.INFINITY_NEGAT
IVE
Double.INFINITY_POSITI
VE
Double.NaN
Página nº : 11