17
16/05/2013 1 Ing. José Luis Cobián Hermosillo DEV TEQUILA CURSO Certificación Se 6

Manejo de colecciones y ordenamiento

Embed Size (px)

Citation preview

Page 1: Manejo de colecciones y ordenamiento

16/05/2013 1Ing. José Luis Cobián Hermosillo

DEV TEQUILA

CURSO Certificación Se 6

Page 2: Manejo de colecciones y ordenamiento

16/05/2013 2Ing. José Luis Cobián Hermosillo

API

16/05/2013

<<interface>>Collection

+add(element : Object) : boolean +size() : int +remove(element : Object) : boolean +isEmpty() : boolean +contains(element : Object) : boolean +iterator() : Iterator

<<interface>>Set

HashSet

ArrayList LinkedList

<<interface>>List

+add(index : int, element : Object) +get(index : int) : Object +remove(index : int) : Object +set(index : int, element Object) +indexOf(element : Object) : int +listIterator() : ListIterator

Page 3: Manejo de colecciones y ordenamiento

16/05/2013 3Ing. José Luis Cobián Hermosillo

Implementaciones de colecciones

16/05/2013

Page 4: Manejo de colecciones y ordenamiento

16/05/2013 4Ing. José Luis Cobián Hermosillo

Set Ejemplo

• 1 import java.util.*; • 2 • 3 public class SetExample { • 4 public static void main(String[] args) { • 5 Set set = new HashSet(); • 6 set.add("one"); • 7 set.add("second"); • 8 set.add("3rd"); • 9 set.add(new Integer(4)); • 10 set.add(new Float(5.0F)); • 11 set.add("second"); // duplicado, no se agrega • 12 set.add(new Integer(4)); // duplicado, no se agrega • 13 System.out.println(set); • 14 } • 15 }

• La salida generada de este programa es:

• [one, second, 5.0, 3rd, 4]

16/05/2013

Page 5: Manejo de colecciones y ordenamiento

16/05/2013 5Ing. José Luis Cobián Hermosillo

Ejemplo de lista

• 1 import java.util.* • 2 • 3 public class ListExample { • 4 public static void main(String[] args) { • 5 List list = new ArrayList(); • 6 list.add("one"); • 7 list.add("second"); • 8 list.add("3rd"); • 9 list.add(new Integer(4)); • 10 list.add(new Float(5.0F)); • 11 list.add("second"); // duplicate, is added• 12 list.add(new Integer(4)); // duplicate, is added• 13 System.out.println(list); • 14 } • 15 }

• La salida generada de este programa es:

• [one, second, 3rd, 4, 5.0, second, 4]

16/05/2013

Page 6: Manejo de colecciones y ordenamiento

16/05/2013 6Ing. José Luis Cobián Hermosillo

Ordenación de las colecciones

• Las interfaces Comparable y Comparatorresultan útiles para ordenar colecciones.

– Comparable define un orden natural para las clases que la implementan

– Comparator se emplea para especificar la relación de orden. Permite eliminar el orden natural

16/05/2013

Page 7: Manejo de colecciones y ordenamiento

16/05/2013 7Ing. José Luis Cobián Hermosillo

Comparable

• Permite definir el orden natural cuando la implementan:– Usado para ordenar

– El metodo compareTo debe de ser implementado cuando se crea cualquier implementacion:• int compareTo(Object o);

– String, Date y Integer implementan la calseComparable

– Puede ordenar una lista de elementos que implementan de comparable interface

16/05/2013

Page 8: Manejo de colecciones y ordenamiento

16/05/2013 8Ing. José Luis Cobián Hermosillo

Ejemplo de implementación

16/05/2013

Page 9: Manejo de colecciones y ordenamiento

16/05/2013 9Ing. José Luis Cobián Hermosillo

Ejemplo

16/05/2013

Page 10: Manejo de colecciones y ordenamiento

16/05/2013 10Ing. José Luis Cobián Hermosillo

Ejemplo de implementación

16/05/2013

Page 11: Manejo de colecciones y ordenamiento

16/05/2013 11Ing. José Luis Cobián Hermosillo

Salida del ejemplo

16/05/2013

Page 12: Manejo de colecciones y ordenamiento

16/05/2013 12Ing. José Luis Cobián Hermosillo

Comparator

• Representa una relación de orden

• Usado para ordenar

• Habilita un orden diferente a orden natural

• Usado por objetos que no implementan la clase comparable

• Puede ser pasado a un metodo de ordenamiento

• Se necesita implementar el metodo compare

– int compare(Object o1, Object o2);

16/05/2013

Page 13: Manejo de colecciones y ordenamiento

16/05/2013 13Ing. José Luis Cobián Hermosillo

Ejemplo comparator

16/05/2013

Page 14: Manejo de colecciones y ordenamiento

16/05/2013 14Ing. José Luis Cobián Hermosillo

Ejemplo

16/05/2013

Page 15: Manejo de colecciones y ordenamiento

16/05/2013 15Ing. José Luis Cobián Hermosillo

Ejemplo

16/05/2013

Page 16: Manejo de colecciones y ordenamiento

16/05/2013 16Ing. José Luis Cobián Hermosillo

Salida del ejemplo

16/05/2013

Page 17: Manejo de colecciones y ordenamiento

16/05/2013 17Ing. José Luis Cobián Hermosillo

Bucle mejorado

• Uso del bucle tradicional

• Usando el for mejorado

16/05/2013