Capacitación de Java

Sintaxis del lenguaje Java

La Interfaz Collection

Una colección representa un grupo de objetos. Esta interfaz permite usar colecciones donde el máximo de generalidad es deseado. Por ejemplo, por convención todas las implementaciones de Collection tienen un constructor que toma Collection como argumento. Este constructor, conocido como constructor de conversión, inicializa la nueva colección de elementos especificados en la colección, no importa la subinterfaz o tipo implementación de la colección. En otras palabras, permite convertir el tipo de colección.

Supóngase, que se tiene Collection<String> c, que se quiere convertir en una List, Set u otro tipo de colección.

List<String> list = new ArrayList<String>(c); // Crea un ArrayList en base a la colección c.

Métodos:

Esta interfaz tiene métodos, entre ellos:

Iterando Colecciones.

Existen dos formas de recorrer una colección.

for-each

Permite atravesar la colección o arreglo usando un bucle for.

for(Object o: collection)
		System.out.println(o);

Iteradores

Un iterador es un objeto que permite recorrer una colección y remover elementos de la misma selectivamente. Se obtiene un iterador de una colección llamando al metodo iterator. La interfaz Iterator se muestra a continuación:

public interface Iterator<E> {      
		boolean hasNext();      
		E next();      
		void remove(); //optional  
}

Los métodos hasNext retorna true si la iteración contiene más elementos, y el método next retorna el siguiente elemento en la iteración. El método remove, remueve el último elemento que fue retornado por next de la colección que está siendo iterada. El método remove solo puede ser llamado una vez por llamada de next y lanza una excepción si esta regla es violada.

El siguiente método realiza una eliminación de elementos de la colección

static void filter(Collection<String> c) {      
		for (Iterator<String> it = c.iterator(); it.hasNext(); )          
			if (!cond(it.next()))              
				it.remove();  
}

Operaciones entre colecciones y arreglos

El método toArray provee un puento entre las colecciones y los arreglos. Las operaciones de arreglos permiten al contenido de una colección ser transformada en un arreglo. La forma más simple sin argumentos crea un nuevo arreglo tipo Object. La otra forma de este método permite especificar el tipo de salida que tendrá el arreglo.

Suponiendo que c es de tipo Collection, la siguiente expresión envía el contenido de está hacia un arreglo de Object cuya longitud es igual al número de elementos en c.

Object[] a = c.toArray();

Ahora suponiendo que c contiene solo elementos tipo String (Collection<String>), la siguiente sentencia manda el contenido de c hacia un arreglo de objetos tipo String.

String[] a = c.toArray(new String[0]);
Anterior Índice Siguiente