sábado, 5 de noviembre de 2011

Clases de utilidad en Java

Dentro del API de Java existe una gran colección de clases que son muy utilizadas en el desarrollo de aplicaciones. Entre las clases de utilidad de Java más utilizadas y conocidas están las siguientes: String, Integer, Double, Float, Long, Boolean, Math, Date, StringTokenizer, BigInteger.

Clase String

La clase String está orientada al manejo de cadenas de caracteres y pertenece al paquete java.lang del API de Java. Los objetos que son instancia de la clase String, se pueden crear a partir de cadenas constantes también llamadas literales, las cuales deben estar contenidas entre comillas dobles. En la clase String, se puede asignar cadenas de las dos formas siguientes.

String cadena1 = new String("Hola");//Creación a través de constructor
String cadena2 = "Hola";      //Creación a través de literal

El método de creación a través de literal es el más eficiente, porque al encontrar un texto entre comillas se crea automáticamente un objeto de la clase String.

RetornoMétodoDescripción
voidString()Constructor que inicializa un objeto con una secuencia de caracteres vacía
voidString(char[] value)Constructor que crea un String inicializa un objeto con una secuencia de caracteres tipo char
charcharAt(int index)Retorna el carácter especificado en la posición index
intcompareTo(String anotherString)Compara dos cadenas de caracteres alfabéticamente. Retorna 0 si son iguales, entero negativo si la primera es menor o  entero positivo si la primera es mayor.
Stringconcat(String str)Concatena la cadena del parámetro al final de la primera cadena.
booleancontains(CharSequence s)Retorna true si la cadena contiene la secuencia tipo char del parámetro.
booleanendsWith(String suffix)Retorna verdadero si el final de la cadena es igual al sufijo del parámetro
booleanequals(Object anObject)Retorna verdadero si la cadena es igual al objeto del parámetro
intindexOf(String str)Retorna el índice de la primera ocurrencia de la cadena del parámetro
booleanisEmpty()Retorna verdadero si la longitud de la cadena es 0
intlength()Retorna la longitud de la cadena
Stringreplace(char oldChar, char newChar)Retorna una nueva cadena reemplazando los caracteres del primer parámetro con el carácter del segundo parámetro
String[]split(String regex)Retorna un conjunto de cadenas separadas por la cadena del parámetro
booleanstartsWith(String prefix)Retorna verdadero si el comienzo de la cadena es igual al prefijo del parámetro
Stringsubstring(int beginIndex)Retorna la sub cadena desde el carácter del parámetro
Stringsubstring(int beginIndex, int endIndex)Retorna la sub cadena desde el carácter del primer parámetro hasta el carácter del segundo parámetro
char[]toCharArray()Retorna el conjunto de caracteres de la cadena
StringtoLowerCase()Retorna la cadena en minúsculas
StringtoUpperCase()Retorna la cadena en mayúsculas
static StringvalueOf(char[] data)Convierte en cadena el conjunto de caracteres del parámetro
static StringvalueOf(double d)Convierte en cadena el dato del parámetro
static StringvalueOf(float f)Convierte en cadena el dato del parámetro
static StringvalueOf(int i)Convierte en cadena el dato del parámetro
static StringvalueOf(long l)Convierte en cadena el dato del parámetro
static StringvalueOf(Object obj)Convierte en cadena el objeto del parámetro
Ejemplo de uso del método length y charAt
public class EjemplosString {
 public static void main(String[] args) {
  String cadena="Hola Mundo";
  char caracter;
  System.out.println("La cadena tiene "+cadena.length()+" caracteres");
  for(int i=0; i<cadena.length(); i++){
   caracter=cadena.charAt(i);
   System.out.println("El caracter en la posicion "+i+" es: "+caracter);
  }
 }
}
Salida Estándar
La cadena tiene 10 caracteres
El caracter en la posicion 0 es: H
El caracter en la posicion 1 es: o
El caracter en la posicion 2 es: l
El caracter en la posicion 3 es: a
El caracter en la posicion 4 es: 
El caracter en la posicion 5 es: M
El caracter en la posicion 6 es: u
El caracter en la posicion 7 es: n
El caracter en la posicion 8 es: d
El caracter en la posicion 9 es: o
Ejemplo de uso del método concat
public class EjemplosString {
 public static void main(String[] args) {
  String cadena1="Hola";
  String cadena2="Mundo";
  System.out.println("La cadena 1 es: "+cadena1);
  System.out.println("La cadena 2 es: "+cadena2);
  System.out.println("El texto concatenado es: "+cadena1.concat(cadena2));
 }
}
Salida Estándar
La cadena 1 es: Hola
La cadena 2 es: Mundo
El texto concatenado es: HolaMundo
Ejemplo de uso del método replace
public class EjemplosString {
 public static void main(String[] args) {
  String cadena="Este es el texto original";
  System.out.println("La cadena es: "+cadena);
  System.out.println("La cadena modificada es: "+cadena.replace('e', '?'));
 }
}
Salida Estándar
La cadena es: Este es el texto original
La cadena modificada es: Est? ?s ?l t?xto original
Ejemplo de uso del método split
public class EjemplosString {
 public static void main(String[] args) {
  String cadena="Hola planeta tierra";
  String cadenas[]=cadena.split(" ");
  for(int i=0; i<cadenas.length; i++){
   System.out.println("La cadena "+i+" es: "+cadenas[i]);
  }
 }
}
Salida Estándar
La cadena 0 es: Hola
La cadena 1 es: planeta
La cadena 2 es: tierra
Ejemplo de uso del método substring
public class EjemplosString {
 public static void main(String[] args) {
  String cadena="Hola planeta tierra";
  System.out.println("La cadena es: "+cadena);
  System.out.println("La sub cadena del caracter 2 al 10 es: "+cadena.substring(2, 10));
 }
}
Salida Estándar
La cadena es: Hola planeta tierra
La sub cadena del caracter 2 al 10 es: la plane
Ejemplo de uso de los métodos toUpperCase y toLowerCase
public class EjemplosString {
 public static void main(String[] args) {
  String cadena="Hola Mundo";
  System.out.println("El texto normal es: "+cadena);
  System.out.println("El texto en mayusculas es: "+cadena.toUpperCase());
  System.out.println("El texto en minusculas es: "+cadena.toLowerCase());
 }
}
Salida Estándar
El texto normal es: Hola Mundo
El texto en mayusculas es: HOLA MUNDO
El texto en minusculas es: hola mundo
Clase Integer

La clase Integer permite convertir un tipo primitivo de dato int a objeto Integer. La clase Integer pertenece al paquete java.lang del API de Java y hereda de la clase java.lang.Number.

Provee métodos para realizar diferentes tipos de conversiones relacionados con el tipo primitivo de dato int.

RetornoMétodoDescripción
voidInteger(int value)Constructor que inicializa un objeto con un dato primitivo.
voidInteger(String s)Constructor que inicializa un objeto con una cadena de caracteres. Esta cadena debe contener un número entero.
intcompareTo(Integer anotherInteger)Compara dos objetos Integer numéricamente.
doubledoubleValue()Retorna el valor del Integer en tipo primitivo double
booleanequals(Object obj)Compara el Integer con el objeto del parámetro
floatfloatValue()Retorna el valor del Integer en tipo primitivo float
intintValue()Retorna el valor del Integer en tipo primitivo int
longlongValue()Retorna el valor del Integer en tipo primitivo long
static intparseInt(String s)Convierte la cadena de caracteres del parámetro en tipo primitivo int
shortshortValue()Retorna el valor del Integer en tipo primitivo short
static StringtoBinaryString(int i)Retorna el número del parámetro en su correspondiente cantidad binaria en una cadena de caracteres.
static StringtoHexString(int i)Retorna el número del parámetro en su correspondiente cantidad hexadecimal en una cadena de caracteres.
static StringtoOctalString(int i)Retorna el número del parámetro en su correspondiente cantidad octal en una cadena de caracteres.
StringtoString()Retorna el valor del Integer en una cadena de caracteres.
static IntegervalueOf(int i)Retorna el número del parámetro en un objeto Integer.
static IntegervalueOf(String s)Retorna la cadena del parámetro en un objeto Integer.

NOTA: Las clases Byte, Short, Long, Double, Float tienen las misma características a la clase Integer, diferenciándose por el tamaño del dato en el caso de Byte, Short y Long y por la capacidad de número real en el caso de Double y Float.

Ejemplo de uso de los métodos intValue y floatValue
public class EjemplosInteger {
 public static void main(String[] args) {
  Integer dato=new Integer("10");
  System.out.println("El int es: "+dato.intValue());
  System.out.println("El float es: "+dato.floatValue());
 }
}
Salida Estándar
El int es: 10
El float es: 10.0
Ejemplo de uso de los métodos toBinaryString, toOctalString y toHexString
public class EjemplosInteger {
 public static void main(String[] args) {
  int decimal=1000;
  String binario=Integer.toBinaryString(decimal);
  String octal=Integer.toOctalString(decimal);
  String hexa=Integer.toHexString(decimal);
  System.out.println("El numero decimal es: "+decimal);
  System.out.println("El numero binario es: "+binario);
  System.out.println("El numero octal es: "+octal);
  System.out.println("El numero hexadecimal es: "+hexa);
 }
}
Salida Estándar
El numero decimal es: 1000
El numero binario es: 1111101000
El numero octal es: 1750
El numero hexadecimal es: 3e8
Clase Boolean

La clase Boolean permite convertir un tipo primitivo de dato boolean a objeto Boolean. La clase Booleana pertenece al paquete java.lang del API de Java.

Provee métodos para realizar diferentes tipos de conversiones relacionados con el tipo primitivo de dato boolean.

RetornoMétodoDescripción
voidBoolean(boolean value)Constructor que inicializa un objeto con un dato primitivo.
voidBoolean(String s)Constructor que inicializa un objeto con una cadena de caracteres. Si la cadena y es igual al texto “true” el valor es verdadero.
booleanbooleanValue()Retorna el valor del Boolean en tipo primitivo boolean
intcompareTo(Boolean b)Compara el valor del Boolean con el valor del parámetro
static booleanparseBoolean(String s)Convierte la cadena de caracteres del parámetro en tipo primitivo boolean
StringtoString()Retorna el valor del Boolean en una cadena de caracteres.
static BooleanvalueOf(boolean b)Retorna el valor booleano del parámetro en un objeto Boolean.
static BooleanvalueOf(boolean b)Retorna la cadena del parámetro en un objeto Boolean.
Clase Math

La clase Math contiene métodos para utilizar operaciones numéricas básicas y funciones trigonométricas. La clase Math pertenece al paquete java.lang del API de Java. La clase Math se define como “final” que indica que no puede tener instancia, de tal forma que sus atributos y métodos son “static”.

TipoAtributoDescripción
static double ERetorna la base de logaritmo natural que es 2.718281828459045
static doublePIRetorna el número pi que es equivalente al perímetro de la circunferencia dividido el radio. Su valor es 3.141592653589793
RetornoMétodoDescripción
static doubleabs(double a)Retorna el número absoluto del parámetro double
static floatabs(float a)Retorna el número absoluto del parámetro float
static intabs(int a)Retorna el número absoluto del parámetro int
static longabs(long a)Retorna el número absoluto del parámetro long
static doubleacos(double a)Retorna el arco coseno del valor del parámetro. El ángulo retornado está entre 0.0 y pi
static doubleasin(double a)Retorna el arco seno del valor del parámetro. El ángulo retornado está entre –pi/2 y pi/2
static doubleatan(double a)Retorna el arco tangente del valor del parámetro. El ángulo retornado está entre –pi/2 y pi/2
static doublecbrt(double a)Retorna la raíz cubica del valor del parámetro
static doublecos(double a)Retorna el coseno del ángulo del parámetro.
static doublecosh(double x)Retorna el coseno hiperbólico del ángulo del parámetro.
static doubleexp(double a)Retorna el numero de Eurler e basado de la potencia del parámetro
static doublelog(double a)Retorna el logaritmo natural del valor del parámetro
static doublelog10(double a)Retorna el logaritmo base 10 del valor del parámetro
static doublemax(double a, double b)Retorna el numero mayor entre los parámetros double
static floatmax(float a, float b)Retorna el numero mayor entre los parámetros float
static intmax(int a, int b)Retorna el numero mayor entre los parámetros int
static longmax(long a, long b)Retorna el numero mayor entre los parámetros long
static doublemin(double a, double b)Retorna el número menor entre los parámetros double
static floatmin(float a, float b)Retorna el número menor entre los parámetros float
static intmin(int a, int b)Retorna el número menor entre los parámetros int
static longmin(long a, long b)Retorna el número menor entre los parámetros long
static doublepow(double a, double b)Retorna la potencia del primer parámetro elevado al Segundo parámetro
static doublerandom()Retorna un numero double aleatorio entre 0.0 y 1.0
static longround(double a)Retorna el numero long más cercano del parámetro double
static intround(float a)Retorna el numero int más cercano del parámetro float
static doublesin(double a)Retorna el seno del ángulo del parámetro.
static doublesinh(double a)Retorna el seno hiperbólico del ángulo del parámetro.
static doublesqrt(double a)Retorna la raíz cuadrada del valor del parámetro
static doubletan(double a)Retorna la tangente del ángulo del parámetro.
static doubletanh(double a)Retorna la tangente hiperbólica del ángulo del parámetro.
static doubletoDegrees(double angrad)Convierte un ángulo de radianes a grados
static doubletoRadians (double angdeg)Convierte un ángulo de grados a radianes
Ejemplo de uso de los métodos cbrt, sqrt y pow
public class EjemplosMath {
 public static void main(String[] args) {
  double dato=144;
  double raizCuadrada = Math.sqrt(dato);
  System.out.println("La raiz cuadrada de: "+dato+" es: "+raizCuadrada);
  double raizCubica = Math.cbrt(dato);
  System.out.println("La raiz cubica de: "+dato+" es: "+raizCubica);
  double base=5;
  double exponente=4;
  double potencia=Math.pow(base, exponente);
  System.out.println("La potencia de "+base+" ^ "+exponente+" es: "+potencia);   
 }
}
Salida Estándar
La raiz cuadrada de: 144.0 es: 12.0
La raiz cubica de: 144.0 es: 5.241482788417793
La potencia de 5.0 ^ 4.0 es: 625.0
Ejemplo de uso del atributo PI y de los métodos sin, cos, round y toRadians
public class EjemplosMath{
 public static void main(String[] args) {
  double seno;
  double coseno;
  for(int i=0;i<=360;i+=90){
   seno=Math.round(Math.sin(i*Math.PI/180));
   System.out.println("El seno de "+i+" usando PI/180 es: "+seno);    
   seno=Math.round(Math.sin(Math.toRadians(i)));
   System.out.println("El seno de "+i+" usando toRadians es: "+seno);    
   coseno=Math.round(Math.cos(i*Math.PI/180));
   System.out.println("El coseno de "+i+" usando PI/180 es: "+coseno);    
   coseno=Math.round(Math.cos(Math.toRadians(i)));
   System.out.println("El coseno de "+i+" usando toRadians es: "+coseno);    
  }
 }
}
Salida Estándar
El seno de 0 usando PI/180 es: 0.0
El seno de 0 usando toRadians es: 0.0
El coseno de 0 usando PI/180 es: 1.0
El coseno de 0 usando toRadians es: 1.0
El seno de 90 usando PI/180 es: 1.0
El seno de 90 usando toRadians es: 1.0
El coseno de 90 usando PI/180 es: 0.0
El coseno de 90 usando toRadians es: 0.0
El seno de 180 usando PI/180 es: 0.0
El seno de 180 usando toRadians es: 0.0
El coseno de 180 usando PI/180 es: -1.0
El coseno de 180 usando toRadians es: -1.0
El seno de 270 usando PI/180 es: -1.0
El seno de 270 usando toRadians es: -1.0
El coseno de 270 usando PI/180 es: 0.0
El coseno de 270 usando toRadians es: 0.0
El seno de 360 usando PI/180 es: 0.0
El seno de 360 usando toRadians es: 0.0
El coseno de 360 usando PI/180 es: 1.0
El coseno de 360 usando toRadians es: 1.0
Clase Date

La clase Date representa un instante de tiempo especifico con una precisión en milisegundos. Adicionalmente la clase Date permite el uso del formato Universal Coordinated Time (UTC). Por otro lado, muchos computadores están definidos en términos de Greenwich Mean Time (GMT) que es equivalente a Universal Time (UT). GMT es el nombre estándar y UT es el nombre científico del estándar. La diferencia entre UT y UTC es que UTC está basado en un reloj atómico y UT está basado en un reloj astronómico.

Las fechas en Java, comienzan en el valor standar based time llamado “epoch” que hace referencia al 1 de Enero de 1970, 0 horas 0 minutos 0 segundos GMT.

La clase Date posee métodos que permiten la manipulación de fechas. La clase Date pertenece al paquete java.util del API de Java.

RetornoMétodoDescripción
voidDate()Constructor que inicializa la fecha en el milisegundo más cercano a la fecha del sistema
voidDate(long date)Constructor que inicializa la fecha en milisegundos del parámetro a partir del “epoch”
booleanafter(Date when)Retorna verdadero si la fecha esta después de la fecha del parámetro
booleanbefore(Date when)Retorna verdadero si la fecha esta antes de la fecha del parámetro
intcompareTo(Date anotherDate)Compara la fecha con la del parámetro. Si retorna 0 las fechas son iguales
booleanequals(Object obj)Retorna verdadero si la fecha es igual a la del objeto del parámetro
longgetTime()Retorna la fecha en milisegundos a partir del “epoch”
voidsetTime(long time)Asigna la fecha en milisegundos a partir del “epoch”
StringtoString()Retorna la fecha en una cadena de caracteres
Ejemplo de uso del método toString
import java.util.Date;
 
public class EjemplosDate {
 public static void main(String[] args) {
  Date fecha=new Date();
  String fechaActual=fecha.toString();
  System.out.println("La fecha actual es: "+fechaActual);
 }
}
Salida Estándar
La fecha actual es: Thu Jul 01 02:11:54 GMT 2010
Clase StringTokenizer

La clase StringTokenizer permite en una aplicación romper una cadena en unidades denominadas “token”. Una cadena se puede romper generando un token a través de un delimitador. Si este delimitador no se especifica, por defecto será un espacio. La clase StringTokenizer pertenece al paquete java.lang del API de Java.

RetornoMétodoDescripción
voidStringTokenizer(String str)Constructor que inicializa la cadena de caracteres con el parámetro. El delimitador por defecto será un espacio
voidStringTokenizer(String str, String delim)Constructor que inicializa la cadena de caracteres con el primer parámetro y el delimitador  con el segundo parámetro.
voidStringTokenizer(String str, String delim, boolean returnDelims)Constructor que inicializa la cadena de caracteres con el primer parámetro y el delimitador  con el segundo parámetro. Si el tercer parámetro es true, cada token incluye el delimitador
intcountTokens()Retorna el numero de tokens en la cadena
booleanhasMoreTokens ()Retorna verdadero si hay mas tokens disponibles en la cadena
StringnextToken()Retorna el siguiente token de la cadena.
StringnextToken(String delim)Retorna el siguiente token de la cadena con base en el delimitador especificado en el parámetro.
Ejemplo de uso de los métodos hasMoreTokens y nextToken
import java.util.StringTokenizer;

public class EjemplosStringTokenizer {
 public static void main(String[] args) {
  String token;
  String texto1="Este es un texto de prueba";
  StringTokenizer tokenizer1=new StringTokenizer(texto1);
  while(tokenizer1.hasMoreTokens()){
   token=tokenizer1.nextToken();
   System.out.println("El token es: "+token);
  }
  String texto2="Este;es;otro;texto;de;prueba";
  StringTokenizer tokenizer2=new StringTokenizer(texto2,";");
  while(tokenizer2.hasMoreTokens()){
   token=tokenizer2.nextToken();
   System.out.println("El token con delimitador ; es: "+token);
  }
 }
}
Salida Estándar
El token es: Este
El token es: es
El token es: un
El token es: texto
El token es: de
El token es: prueba
El token con delimitador ; es: Este
El token con delimitador ; es: es
El token con delimitador ; es: otro
El token con delimitador ; es: texto
El token con delimitador ; es: de
El token con delimitador ; es: prueba
Clase BigInteger

La clase BigInteger permite en una aplicación manejar datos numéricos enteros positivos y negativos con longitud indefinida. Considerando que el tipo primitivo de datos “long” tiene un valor máximo de 9.223.372.036.854.775.807, en caso de que sea necesario realizar operaciones con datos enteros mayores a este valor, se hace estrictamente necesario el uso de la clase BigInteger. La clase BigInteger pertenece al paquete java.math del API de Java.

RetornoMétodoDescripción
voidBigInteger(String val)Constructor que inicializa el BigInteger con el valor de la cadena de caracteres del parámetro.
BigIntegerabs()Retorna el valor absoluto del BigInteger.
BigIntegeradd(BigInteger val)Retorna la suma del BigInteger con el parámetro.
BigIntegerand(BigInteger val)Retorna el resultado de la operación lógica AND del BigInteger con el parámetro.
intbitCount()Retorna el número de bits del BigInteger.
intcompareTo(BigInteger val)Compara el BigInteger con el parámetro.
BigIntegerdivide(BigInteger val)Retorna la división del BigInteger con el parámetro.
BigInteger[]divideAndRemainder(BigInteger val)Retorna el cociente y residuo de la división del BigInteger con el parámetro.
doubledoubleValue()Convierte el BigInteger a double
floatfloatValue()Convierte el BigInteger a float
intintValue()Convierte el BigInteger a int
longlongValue()Convierte el BigInteger a long
BigIntegermax(BigInteger val)Retorna el mayor entre el BigInteger y el parámetro
BigIntegermin(BigInteger val)Retorna el menor entre el BigInteger y el parámetro
BigIntegermod(BigInteger m)Retorna el residuo de la división del BigInteger con el parámetro
BigIntegermultiply(BigInteger val)Retorna la multiplicación del BigInteger con el parámetro.
BigIntegernot()Retorna el resultado de la operación lógica NOT del BigInteger
BigIntegeror(BigInteger val)Retorna el resultado de la operación lógica OR del BigInteger con el parámetro.
BigIntegerpow(int exponent)Retorna la potenciación del BigInteger con el parámetro.
BigIntegersubtract (BigInteger val)Retorna la resta del BigInteger con el parámetro.
StringtoString()Retorna el BigInteger en una cadena de caracteres
static BigIntegervalueOf(long val)Retorna un BigInteger con el valor del parámetro
BigIntegerxor(BigInteger val)Retorna el resultado de la operación lógica XOR del BigInteger con el parámetro.
Ejemplo de uso del método pow
import java.math.BigInteger;

public class EjemplosBigInteger {
 public static void main(String[] args) {
  long potLong;
  int base=10;
  for(int exp=15;exp<=25;exp++){
   potLong=(long)Math.pow(base, exp);
   System.out.println("La potenciacion usando long de "+base+"^"+exp+" es:"+potLong);
  }
  BigInteger potBigInteger=new BigInteger(String.valueOf(base));
  for(int exp=15;exp<=25;exp++){
   System.out.println("La potenciacion usando BigInteger de "+base+"^"+exp+" es: "+
   potBigInteger.pow(exp));
  }
 }
}
Salida Estándar
La potenciacion usando long de 10^15 es:1000000000000000
La potenciacion usando long de 10^16 es:10000000000000000
La potenciacion usando long de 10^17 es:100000000000000000
La potenciacion usando long de 10^18 es:1000000000000000000
La potenciacion usando long de 10^19 es:9223372036854775807
La potenciacion usando long de 10^20 es:9223372036854775807
La potenciacion usando long de 10^21 es:9223372036854775807
La potenciacion usando long de 10^22 es:9223372036854775807
La potenciacion usando long de 10^23 es:9223372036854775807
La potenciacion usando long de 10^24 es:9223372036854775807
La potenciacion usando long de 10^25 es:9223372036854775807
La potenciacion usando BigInteger de 10^15 es: 1000000000000000
La potenciacion usando BigInteger de 10^16 es: 10000000000000000
La potenciacion usando BigInteger de 10^17 es: 100000000000000000
La potenciacion usando BigInteger de 10^18 es: 1000000000000000000
La potenciacion usando BigInteger de 10^19 es: 10000000000000000000
La potenciacion usando BigInteger de 10^20 es: 100000000000000000000
La potenciacion usando BigInteger de 10^21 es: 1000000000000000000000
La potenciacion usando BigInteger de 10^22 es: 10000000000000000000000
La potenciacion usando BigInteger de 10^23 es: 100000000000000000000000
La potenciacion usando BigInteger de 10^24 es: 1000000000000000000000000
La potenciacion usando BigInteger de 10^25 es: 10000000000000000000000000

No hay comentarios:

Publicar un comentario