java 8 collections

9
JAVA 8 COLLECTIONS Yenifer Barco Castrillón Ing. Sistemas e informática UPB

Upload: yenifer-castrillon

Post on 21-Mar-2017

122 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Java 8  collections

JAVA 8 COLLECTIONS

Yenifer Barco Castrillón

Ing. Sistemas e informáticaUPB

Page 2: Java 8  collections

COLECCIONES

Las colecciones representan grupos de objetos, denominados elementos. Podemos encontrar diversos tipos de colecciones, según si sus elementos están ordenados, o si permitimos repetición de elementos o no.Las Colecciones de datos Es el tipo más genérico en cuanto a que se refiere a cualquier tipo que contenga un grupo de elementos. Viene definido por la interfaz Collection, de la cual heredará cada subtipo específico. En esta interfaz encontramos una serie de métodos que nos servirán para acceder a los elementos de cualquier colección de datos, sea del tipo que sea

Page 3: Java 8  collections

Las operaciones básicas de una collection entonces son:

add(T): Añade un elemento.iterator(): Obtiene un “iterador” que permite recorrer la colección visitando cada elemento una vez.size(): Obtiene la cantidad de elementos que esta colección almacena.contains(t): Pregunta si el elemento t ya está dentro de la colección.clear(): Elimina todos los elementos de la colección.isEmpty(): Indica si la colección está vacía (no tiene ningún elemento).toArray(): Nos devuelve la colección de elementos como un array de objetos

Page 4: Java 8  collections

Una capacidad de un objeto Collection es la de poder ser recorrido. Como a este nivel no está definido un orden, la única manera es proveyendo un iterador, mediante el método iterator(). Un iterador es un objeto “paseador” que nos permite ir obteniendo todos los objetos al ir invocando progresivamente su método next(). También, si la colección es modificable, podemos remover un objeto durante el recorrido mediante el método remove() del iterador.El siguiente ejemplo recorre una colección de Integer borrando todos los ceros:

Page 5: Java 8  collections

NOVEDADES

Las novedades en el Java 8 Collections Framework son muchas e incluyen expresiones lambda y streams como parte fundamental de la renovación. Sin embargo los cambios son mucho mayores y afectan a prácticamente todos los rincones del framework . Vamos a ver un par de situaciones que han sido simplificadas sobre manera a través de expresiones lambda extendiendo la funcionalidad del interface List.

Page 6: Java 8  collections

REMOVEIF

Hconcreto. Lamentablemente este tratamiento era muy elemental.Normalmente uno quiere eliminar un elemento de la lista o varios aplicando una condición. A partir de Java 8 nos podemos apoyar en una expresión lambda para hacerlo usando el nuevo método removeIf.asta ahora podíamos utilizar el método remove del interface List para eliminar un elemento

SORTEl método sort que permite utilizar una expresión lambda y generar un Comparador para ordenar la lista.

Page 7: Java 8  collections

LAMBDASNueva sintaxis del lenguaje que facilita la escritura de las clases internas anónimas con un solo método, basadas en Interfaces Funcionales, por ejemplo, los Listener. Su idea es reflejar la inyección de métodos.

También hay formas “cortas ” de escribir lambdas comunes:

Page 8: Java 8  collections

Una lista de entradas separadas por comas, indicando el tipo de datos, y un bloque que retorna la suma de ambos parámetros. (int x, int y) -> { return x + y;}

Una lista de entradas separadas por comas, infiriendo el tipo de datos y retorna la suma de ambos.

(x, y) -> x + y

Un único parámetro con el tipo de dato inferido, y retorna ese para metro al cuadrado.

x -> x * x

Sin valores de entrada, retorna un valor.() -> x

Page 9: Java 8  collections

GRACIAS POR SU

ATENCIÓN