UNIVERSIDAD
CATOLICA DE COLOMBIA
FACULTAD
DE INGENIERIA DE SISTEMAS
CURSO: JAVA BASICO
PROFESOR: EMERSON
CASTAÑEDA SANABRIA
TEMA: Clases de utilidad
OBJETIVOS:
CONTENIDO:
DESARROLLO:
1.
Las clases String y StrinBuffer
El paquete java.lang contiene dos clases de cadenas:
String y StringBuffer. La clase String se utiliza cuando se trabaja con cadenas
que no pueden cambiar. Por otro lado, StringBuffer, se utiliza cuando se quiere
manipular el contenido de una cadena.
La clase String
La clase String representa cadenas de
caracteres. Todas las expresiones en java , como "abc", son
implementadas como instancias de esta clase.
Los objetos Strings son constantes; es decir,
son valores que no pueden cambiar después de ser creados. Por ejemplo:
String str =
"abc";
Es equivalente a:
char data[] = {'a', 'b', 'c'};
String str = new
String(data);
La
clase String incluye métodos para examinar caracteres individualmente, para
comparar cadenas, para buscar cadenas, para extraer subcadenas y para crear una
copia de una cadena con todos sus caracteres convertidos a mayúscula o a
minúscula.
Java
proporciona un soporte especial para el operador de concatenación de cadenas
(+), y la conversión de otros objetos a objetos String (a través del método
toString()).
|
Algunos Constructores |
|
String() |
|
String(byte[] bytes) |
|
String(byte[] bytes,
String charsetName) |
|
String(char[] value) |
|
String(String original) |
|
String(StringBuffer buffer) |
|
Algunos métodos |
|
|
char |
charAt(int index) |
|
int |
|
|
int |
compareTo(String anotherString) |
|
int |
compareToIgnoreCase(String str) |
|
concat(String str) |
|
|
byte[] |
getBytes() |
|
int |
hashCode() |
|
int |
indexOf(int ch) |
|
int |
lastIndexOf(int ch) |
|
int |
length() |
|
replace(char oldChar, char newChar) Retorna una nueva cadena remplazando
las ocurrencias del oldChar por el newChar. |
|
|
substring(int beginIndex) |
|
La clase
StringBuffer
Stringbuffer
implementa una secuencia de caracteres que puede cambiar. Es como un String con
la diferencia que puede ser modificada en cualquier momento a treves de los
métodos que incorpora.
String
buffers are safe for use by multiple threads. The methods are synchronized
where necessary so that all the operations on any particular instance behave as
if they occur in some serial order that is consistent with the order of the
method calls made by each of the individual threads involved.
La
clase StringBuffer es usada por el compilador para implementar la concatenación
de cadenas con el operador +. Por ejemplo, el codigo:
x = "a" + 4 + "c"
Es
compilado con su código equivalente:
x = new
StringBuffer().append("a").append(4).append("c") .toString()
Las
principales operaciones de StringBuffer son la adición y la inserción. Estas están
redefinidas para aceptar datos de cualquier tipo.
|
Constructores |
|
StringBuffer() |
|
StringBuffer(int length) |
|
StringBuffer(String str) |
|
Algunos Métodos |
|
|
append(boolean b) |
|
|
append(char c) |
|
|
append(char[] str) |
|
|
append(double d) |
|
|
append(Object obj) |
|
|
int |
capacity() |
|
delete(int start,
int end)
|
|
|
insert(int offset, boolean b) |
|
|
insert(int offset, char c) |
|
|
int |
length()
|
2.
Wrappers
Java
trabaja con dos tipos de entidades: datos primitivo y referencias a objetos. Java no utiliza los objetos para sustituir a
la mayoría de los tipos primitivos (los números, boléanos y caracteres), sobre
todo para mayor efectividad. La manipulación de los tipos primitivos
independientes es más eficaz. Pero
existe la posibilidad de agrupar los tipos primitivos. Por ejemplo podemos
crear una clase cuya finalidad sea englobar un entero. De esta forma podremos trabajar con nuestros
tipos primitivos de siempre como si fueran objetos.
El
paquete java.lang contiene las siguientes clases envolventes: Integer,
Long, Byte, Short, Float, Double, Character, Boolean y Void.
La
clase Integer
La
clase Integer envuelve un valor de un dato primitiva tipo int en un objeto. Un objeto de tipo Integer contiene un
único atributo que es de tipo int.
Adicionalmente, la clase proporciona
métodos para convertir un entero a una cadena y una cadena a un entero.
|
Constructores |
|
Integer(int value) |
|
Integer(String s) |
|
Algunos Métodos |
|
|
byte |
byteValue() |
|
int |
compareTo(Integer anotherInteger) |
|
double |
doubleValue() |
|
int |
intValue() |
|
long |
longValue() |
|
Static int |
|
|
toString() |
|
3.
La clase Math
La
clase Math agrupa una serie de funciones matemáticas que se pueden clasificar
de la siguiente forma:
Funciones
límite, máximo, mínimo, valor absoluto.
Funciones
cuadráticas, raíces, potencias, logaritmos
y exponenciales. Todas ellas
trabajan con valores double.
Funciones
trigonométricas (sen, cos, tan, asen, acos, atan). Todas estas funciones
trabajan con ángulos medidos en radianes en vez de grados.
Función
generadora de números aleatorios.
Contienen el método random() que se utiliza para efectuar aplicaciones
aleatorias.
4.
clases del paquete java.util
La clase Vector
Crece dinámicamente, o sea, puede contener un
número ilimitado de elementos, a diferencia del arreglo, en el que se
especifica su tamaño al crearse.
Sólo almacena Objetos: no permite almacenar
tipos básicos (double, int, char,…) Si se desea almacenar un tipo básico se
deben usar las clases envolventes respectivas.
Cuando se extraen los elementos, estos salen
como referencias de tipo Object. La clase java.lang.Object es la raíz del árbol
de herencia de Java, por lo cual es la superclase padre de todas las clases. Si
se necesita acceder el elemento extraído del Vector con otro tipo de
referencia, debe usarse el operador de casting
para cambiar el tipo de dato de la referencia.
|
Constructores |
|
Vector()
|
|
Vector(int initialCapacity)
|
|
Vector(int initialCapacity,
int capacityIncrement) |
|
Method
Summary |
|
|
void |
add(int index,
Object element)
|
|
boolean |
|
|
void |
addElement(Object obj)
|
|
int |
capacity()
|
|
void |
clear()
|
|
void |
copyInto(Object[] anArray)
|
|
elementAt(int index)
|
|
|
elements()
|
|
|
firstElement()
|
|
|
get(int index)
|
|
|
int |
indexOf(Object elem)
|
La clase Hashtable
La
clase Hashtable extiende Dictionary (abstract) e implementa Cloneable y
Serializable. Es una tabla que relaciona una clave con un valor. Cualquier
objeto distinto de null puede ser tanto clave como valor. La clase a la que
pertenecen las claves debe implementar los métodos hashcode() y equals().
Cada
objeto de Hashtable tiene dos variables: capacity y load factor (entre 0.0 y
1.0). Cuando el número de elementos excede el producto de estas variables, la Hashtable
crece llamando al método rehash(). Un load factor más grande utiliza mejor la
memoria, pero será menos eficiente. Es conveniente partir de una Hashtable
suficientemente grande para no tener que estar ampliando continuamente.
|
Constructores |
|
|
Hashtable() |
|
|
Hashtable(int initialCapacity) |
|
|
Hashtable(int initialCapacity,
float loadFactor)
|
|
|
Method Summary |
|
|
void |
clear() |
|
boolean |
contains(Object value) |
|
boolean |
containsKey(Object key) |
|
boolean |
containsValue(Object value) |
|
elements() |
|
|
get(Object key) |
|
|
boolean |
isEmpty() |
|
keys() |
|
|
put(Object key,
Object value) |
|
|
remove(Object key) |
|
|
int |
size() |
La clase Stack
La clase
Stack representa una pila de objetos con comportamiento LIFO
(last-in-first-out). Esta clase extiende de la clase Vector e implementa cinco
operaciones para que el Vector sea tratado como una pila. Provee las
operaciones usuales de push y pop para colocar y retirar elementos de la pila.,
como también un método peek para obtener el ultimo elemento de la pila sin
retirarlo de la misma.
Adicionalmente cuanta con un método para verificar si
la pila esta vacía y un método para buscar un elemento en la pila que retorna
la posición del objeto.
Cuando un
objeto Snack se crea, inicialmente se encuentra vació.
|
Constructor |
|
Stack() |
|
Method Summary |
|
|
boolean |
empty() |
|
peek() |
|
|
pop() |
|
|
int |
search(Object o) |