Está en la página 1de 5

Laboratorio Bases Collections Java

Objetivo:

Conocer el concepto de Colecciones en Java, forma de utilizarlas y su aplicabilidad.

1. Leer el siguiente documento

COLECCIONES (Collections)

Las colecciones son un conjunto herramientas del lenguaje JAVA, agrupadas en clases e interfaces, creadas para
facilitar el trabajo con estructuras de datos.

Para trabajar con colecciones en Java podemos usar el framework Collections, las clases e interfaces de este
framework se encuentran en el paquete java.util.

Interfaces que contiene el framework:

Collection: Define métodos para tratar una colección genérica de elementos


Set: Colección que no admite elementos repetidos
SortedSet: Set cuyos elementos se mantienen ordenados según el criterio establecido
List: Admite elementos repetidos y mantiene un orden inicial
Map: Conjunto de pares clave/valor, sin repetición de claves
SortedMap: Map cuyos elementos se mantienen ordenados según el criterio establecido

Interfaces de soporte

Iterator: Dispone de métodos para recorrer una colección y para borrar elementos.
ListIterator: Deriva de Iterator y permite recorrer lists en ambos sentidos.
Comparable: Declara el método compareTo().
Comparator: Declara el método compare(). Más flexible, pero es más costosa en tiempo de codificación.

Implementaciones

ArrayList: Interface List implementada mediante un array.


LinkedList: Interface List implementada mediante una lista vinculada.
TreeMap: Interface SortedMap implementada mediante un árbol binario.
TreeSet: Interface SortedSet implementada mediante un árbol binario ordenado.
HashSet: Interface Set implementada mediante una hash table.
HashMap: Interface Map implementada mediante una hash table.

Manejo de Pilas y Colas


java.util.Queue y java.util.Stack

Interface Collection
Es la interface más importante, es una de las raíces de la jerarquía de la que heredan otras clases agregando
funcionalidades o restricciones a las nuevas clases. Esta interface define una serie de métodos que serán los que el
resto de interfaces, o clases que se deben implementar según sean los requerimientos:

Métodos para agregar y eliminar elementos

boolean add(Object element)


boolean remove(Object element)

Métodos para realizar consultas


int size()
boolean isEmpty()
boolean contains(Object element)

Métodos para recorrer todos los elementos


Iterator iterator()
Iterator hasNext() devuelve verdadero si existe otra muestra en la entrada, return verdadero si tiene otra muestra.

Métodos para ordenar elementos


sort()

Métodos para buscar elementos


search()
binarySearch()

Métodos para realizar operaciones simultáneamente


boolean containsAll(Collection collection)
boolean addAll(Collection collection)
void clear()
void removeAll(Collection collection)
void retainAll(Collection collection)

2. Copiar, depurar, ejecutar y analizar el siguiente ejemplo:

En el siguiente ejemplo* se almacena en una estructura de datos, un grupo de productos para posteriormente realizar
operaciones de impresión y borrado de elementos, haciendo uso de ArrayLIst:

  
Clase Producto

//clase que define las características del producto


public class Producto { 
private String nombre; 
private int cantidad; 

//constructor de la clase producto

public Producto(String s, int i) { 


nombre = s; 
cantidad = i; 

//método de la clase object


public String toString(){ 
return ("Nombre: "+nombre+" Cantidad: "+cantidad); 

//métodos de encapsulamiento

public String getNombre() { 

return this.nombre; 

Clase Mercado

// Clase en la cual se almacena en un ArrayList, una lista de productos, permitiendo su manipulación.

//Se importan las librerías de java.util.* donde se concentran la mayor parte de las Clases del "Collection Framework". 
import java.util.*; 

public class Mercado 


public static void main(String args[]) 


// Se definen 5 instancias con el constructor de la clase Producto.


Producto gaseosa = new Producto("gaseosa", 6); 
Producto paquetes = new Producto("paquetes", 2); 
Producto manzanas = new Producto("manzanas", 5); 
Producto lentejas = new Producto("lentejas", 2); 
Producto aceite = new Producto("aceite", 2); 

// Definir un ArrayList  llamado lista


ArrayList lista = new ArrayList(); 

// Agregamos estas instancias al ArrayList con el método add 

lista.add(gaseosa); 
lista.add(paquetes); 
lista.add(manzanas); 
lista.add(lentejas); 

// Las listas inician en 0 (Cero) 


// Indica el índice de inserción 
lista.add(1, aceite); 
lista.add(aceite); 

// Mostramos el número de objetos de la colección mediante el método size.


System.out.println(" Lista del mercado con " + lista.size() + 
" productos"); 

// Se declara una instancia Iterator it la cual facilita recorrer los objetos, para extraer e imprimir sus valores 
Iterator it = lista.iterator();

//verifica si existe otro elemento con el método hasNext()

while ( it.hasNext() ) { 
Object objeto = it.next(); 
Producto producto = (Producto)objeto; 
System.out.println(producto); 

// Eliminar elemento de ArrayList.  Se elimina el objeto con índice 2 con el método remove. Se muestra la nueva lista.
lista.remove(2); 
System.out.println(" Lista del mercado con " + lista.size() + " productos"); 

// Definir Iterator para extraer e imprimir valores 


Iterator it2 = lista.iterator(); 
while ( it2.hasNext() ) { 
Producto producto = (Producto)it2.next(); 
System.out.println(producto); 

// Eliminar todos los valores del ArrayList, Se eliminan todos los objetos mediante el método clear. 
lista.clear(); 
System.out.println(" Lista del mercado con " + lista.size() +" productos"); 

3. Agregue al anterior programa el código necesario para ordenar la lista e imprimirla.

AUTOEVALUACIÓN

1. Defina con sus propias palabras que son Colecciones en JAVA.


2. Explique como se utilizan las Colecciones.
3. Que implementación utiliza una estructura tipo lista enlazada.
4. Para que sirven los métodos: iterator(), hasNext(), sort(); search(), binarySearch();

GLOSARIO

Framework:

1. Define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática
particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar / Wikipedia.
2. Abstracción de un componente de software para resolver un problema en un contexto /
3. Conjunto de bibliotecas enfocadas a la reutilización de código /

Hash Table:

Una tabla hash, mapa hash o tabla fragmentada es una estructura de datos que asocia llaves o claves con valores. La operación principal


que soporta de manera eficiente es la búsqueda: permite el acceso a los elementos (teléfono y dirección, por ejemplo) almacenados a
partir de una clave generada (usando el nombre o número de cuenta, por ejemplo). / Wikipedia.

REFERENCIAS
http://toolboxnet.blogspot.com, febrero de 2013.

También podría gustarte