Estructuras de Datos en Java M.C. Juan Carlos Olivares Rojas
1
Paquete de Utilidades • Java cuenta con una serie de APIs para el manejo de estructura de datos básicas, dichos componentes se encuentran en el paquete java.util • La clase Vector permite tener un arreglo de cualquier tipo de dato, el cual crece de manera automática. 2
Vector • En el constructor se puede indicar el tamaño inicial del vector: • Vector v = new Vector(10); • De manera predeterminada este crece conforme al tamaño asignado. 3
Vector • Para agregar elementos se método addElement(Object).
utiliza el
• Para eliminar elementos se utiliza el método removeElement(Object); • Para obtener firstElement();
el
primer
elemento: 4
Vector • Para obtener lastElement();
el
último
elemento:
• Para verificar si se encuentra vacío: isEmpty(); • Para verificar si se encuentra un elemento en particular: contains(Object);
5
Vector
• indexOf(Object); sirve para encontrar la posición de un objeto en particular. • trimToSize(); permite recortar el tamaño de un vector hasta donde se tenga el último elemento.
• size(); indica el tamaño actual y el método capacity(); hasta donde puede crecer el vector sin duplicarse.
6
Enumeration • El objeto Enumeration permite tener un objeto iterador para la manipulación de muchos tipos de objetos. • Enumeration enum = v.elements(); • enum.hasMoreElements(); permite saber si se tienen más elementos.
7
Enumeration • enum.nextElement(); obtiene el siguiente elemento si existe, de lo contrario devuelve una Excepción: NoSuchElementException. • Tambien Java cuenta con una clase Pila: • Stack s = new Stack();
8
Enumeration • Se cuenta con los siguientes métodos: • s.push(obj); para agregar elementos • s.pop(); para quitar elementos • s.peek(); para observar el elemento de la cima • s.empty(); determina si la pila está vacía • s.search(obj); para buscar un elemento.
9
Dictionary-Hashtable • La clase Dictionary es una clase abstracta (no se pueden crear objetos de dicha clase) que sirve de interfaz a la clase Hashtable. • Las tablas permiten almacenar una clave y un valor para ser utilizadas posteriormente. 10
Hashtable • Se construye un objeto como: • Hashtable tabla = new Hashtable(); • Los métodos de dicha clase son: • Object val = tabla.put(nombre, empleado); en donde nombre es un String y empleado un objeto.
11
Hashtable • Si no hay un valor para la clave especificada se devuelve un null. Si ya existe una clave/objeto se devuelve el mismo objeto. • Object val = tabla.get(clave); ayuda a recuperar un elemento en particular. 12
Hashtable • Para eliminar elementos se utiliza: • Object val = tabla.remove(clave); si no se puede eliminar el elemento se devuelve null, en caso contrario se devuelve la referencia del elemento. • tabla.isEmpty(); nos sirve para determinar si está vacía la tabla.
13
Hashtable • tabla.containsKey(clave); para determinar si se cuenta con esa clave en el diccionario. • tabla.clear(); vacía toda la tabla • tabla.elements(); para obtener un objeto Enumeration. tabla.keys(); tambien devuelve una enumeración pero de las claves nada más.
14
多Preguntas, dudas y comentarios?
15