SlideShare una empresa de Scribd logo
1 de 22
UNIVERSIDAD DE CUENCA
Nombre: Erick Barzallo
Fecha: 20/octubre/2016
Tema: Colecciones
Materia: Programación 3
INTRODUCCIÓN
• Java dispone de un conjunto de clases para la agrupación de objetos llamados
Colecciones
• La organización de objetos es de forma particular como un mapa, una lista, un
conjunto, entre otros.
• Son de importancia debido a la facilidad en el diseño y construcción de aplicaciones
basadas en estructuras de datos
1. COLECCIONES EN JAVA
• Las colecciones son agrupaciones de objetos relacionados que forman una única
entidad, como por ejemplo: el array, el vector, la matriz, etc.
• Incluyen: clases contenedoras para almacenar objetos, Iteradores para el acceso y
algoritmos para la manipulación de los objetos
1.1. TIPOS DE COLECCIONES
• Existen 3 tipos generales de colecciones:
• Conjuntos
• Listas
• Mapas
• Los interfaces Set, List y Map, describen las características generales de estos.
• El diseño de estas colecciones tuvo muy en cuenta los problemas de seguridad que
pudieran surgir con la ejecución de múltiples tareas
• Si varios hilos acceden a una de esas estructuras garantiza que los accesos estén
sincronizados
• La declaración de métodos de la clase Stack, todos ellos con el comportamiento de
sincronización son:
• Desde Java 2, se puede observar la declaración de métodos de la colección ArrayList
2. ARRAYS Y COLLECTIONS
• La clase Array agrupa algoritmos útiles que se aplican, en general a los Arrays de los
tipos primitivos
• Collections también es una clase, pero de métodos static que implementan
algoritmos aplicados a todo tipo de colecciones
• Vector, colección histórica, diseñada para guardar objetos de cualquier tipo.
2.1. CLASE ARRAY
• Java incorpora esta clase para disponer de métodos que trabajen con arreglos de
cualquier tipo
• Estos métodos implementan algoritmos de búsqueda, ordenación y de asignación
de un valor al array completo
• No se pueden crear objetos de la clase Arrays ya que su constructor es privado
ORDENACIÓN DE ARRAYS
• El método de ordenación short(), esta sobrecargado, de tal forma que puede
ordenar un array de cualquier tipo primitivo
• El método implementa un algoritmo de ordenación QuickSort que asegura una
eficiencia n log(n)
BÚSQUEDA DE UNA CLAVE
• Se lo realiza sobre un array ordenado
• La clase array dispone del método static binarySearch(), el cual se usa para realizar
búsquedas dentro del array
• EL método devuelve la posición del elemento
• El método implementa el algoritmo de búsqueda binaria con una eficiencia de
log(n)
ASIGNACIÓN DE UN ELEMENTO
• Otra utilidad de la clase array, es el método fill()
• El método permite realizar la asignación de un elemento a todas las posiciones o
bien a un rango del array
2.2. CLASE COLLECTIONS
• Diseñada para trabajar con colecciones List, Map, Set; en general sobre cualquier
Collection
• Se encuentra en el paquete java.útil y agrupa métodos static
• Implementan algoritmos genéricos de ordenación, búsqueda, máximo y mínimo
ORDENACIÓN Y BÚSQUEDA
• Los métodos de ordenación se aplican a una lista cuyos elementos implementan la
interfaz Comparable
• Hay una sobrecarga de métodos para realizar la comparación con la interfaz
Comparator
MÁXIMO Y MÍNIMO
• Los métodos max(), min(), devuelven el máximo y el mínimo respectivos de una
colección
• Para su operación, los elementos deben implementar la interfaz Comparable y ser
mutuamente comprables
SINCRONIZACIÓN Y CONVERSIÓN A
SOLO LECTURA
• Para la sincronización, Collections dispone de método que se aplican a cada tipo de
colección
• Los métodos de conversión a solo lectura levantan una excepción
UnsupportedOperationException a las operación de añadir y remover
UTILIDADES
• La clase Collections, dispone de métodos útiles para ciertos procesos algorítmicos
• nCopies() crea una lista de n copias de un elemento
• copy() crea una lista copia de otra
• fill() rellena todos los elementos de una lista con un objeto
• reverse() invierte la posición de los elementos de una lista
• shuffle() reordena aleatoriamente los elementos de una lista
3. COMPARACIÓN DE OBJETOS:
COMPARABLE Y COMPARATOR
• Numerosas operaciones con colecciones exigen que sus elementos sean
comparables
• Determinar si un elemento es menor, igual o mayor que otro
• Implementando la interfaz Comparable, o bien la interfaz Comparator
3.1. COMPARABLE
• La interfaz Comparable se utiliza para establecer un orden natural entre los objetos de una
misma clase
• Proviene del paquete java.lang
• Si el compareTo() devuelve un valor negativo, el objeto es menor. Si el valor es 0, son iguales
y si devuelve un valor positivo, el objeto es mayor, todos esos comparados al paso de
argumento
• Todas las clases que representan a tipos primitivos: Integer, Double, etc, y la clase String
implementan la interfaz Comparable. La implementación de compareTo() en String distingue
mayúsculas de minúsculas
3.2. COMPARATOR
• Algunos métodos de ordenación y búsqueda de objetos, usan la interfaz
comparator, el cual determina el orden natural entre dos elementos
• Su interfaz se encuentra en el paquete java.útil
• El método compare() relaciona dos objetos sin necesidad que sean del mismo tipo.
• Si ob1 es menor, devuelve un valor negativo, cero si son iguales y un valor positivo
si ob1 es mayor que ob2
BIBLIOGRAFÍA
• Joyanes, L. and Zahonero, I. (2008). Estructura de Datos en Java. 1st ed. Madrid: Mc
Graw Hill, pp.488 - 498.
• Plaza, A. and Ortiz, M. ed., (2013). Programación Orientada a Objetos y UML. 1st ed.
Cuenca: Abya-Yala, pp.165 - 170.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Uml - Caso práctico
Uml - Caso prácticoUml - Caso práctico
Uml - Caso práctico
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de Kruskal
 
Calculadora con operaciones básicas en java
Calculadora con operaciones básicas en javaCalculadora con operaciones básicas en java
Calculadora con operaciones básicas en java
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Funciones y procedimientos en SQL
Funciones y procedimientos en SQLFunciones y procedimientos en SQL
Funciones y procedimientos en SQL
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Ordenamiento QuickSort
Ordenamiento QuickSortOrdenamiento QuickSort
Ordenamiento QuickSort
 
Lenguaje estructurado sql
Lenguaje estructurado sqlLenguaje estructurado sql
Lenguaje estructurado sql
 
Curso SQL - Leccion 7
Curso SQL - Leccion 7  Curso SQL - Leccion 7
Curso SQL - Leccion 7
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Layouts - Java
Layouts - JavaLayouts - Java
Layouts - Java
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
CURSO DE PROGRAMACION BASICA - Cap 3
CURSO DE PROGRAMACION BASICA - Cap 3CURSO DE PROGRAMACION BASICA - Cap 3
CURSO DE PROGRAMACION BASICA - Cap 3
 
Tad Colas
Tad ColasTad Colas
Tad Colas
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 

Destacado

Programación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenProgramación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenAngel Vázquez Patiño
 
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaProgramación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaAngel Vázquez Patiño
 
Programación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaProgramación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaAngel Vázquez Patiño
 
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallProgramación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallAngel Vázquez Patiño
 
Programación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasProgramación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasAngel Vázquez Patiño
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersiónAngel Vázquez Patiño
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosAngel Vázquez Patiño
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesAngel Vázquez Patiño
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
Trabajo Practico NTICs
Trabajo Practico NTICsTrabajo Practico NTICs
Trabajo Practico NTICsAlan Medina
 
Tutorial de eclipse 2
Tutorial de eclipse 2Tutorial de eclipse 2
Tutorial de eclipse 2ivan ramirez
 
Contenedores Swing en Netbeans
Contenedores Swing en NetbeansContenedores Swing en Netbeans
Contenedores Swing en NetbeansMarly Encina
 

Destacado (20)

Programación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenProgramación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origen
 
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaProgramación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
 
Programación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaProgramación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en java
 
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallProgramación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
 
Programación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasProgramación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadas
 
Programación 1: modularización
Programación 1: modularizaciónProgramación 1: modularización
Programación 1: modularización
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersión
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibrados
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
3 e uml
3 e uml3 e uml
3 e uml
 
Trabajo Practico NTICs
Trabajo Practico NTICsTrabajo Practico NTICs
Trabajo Practico NTICs
 
JAVA
JAVAJAVA
JAVA
 
Tutorial de eclipse 2
Tutorial de eclipse 2Tutorial de eclipse 2
Tutorial de eclipse 2
 
Contenedores Swing en Netbeans
Contenedores Swing en NetbeansContenedores Swing en Netbeans
Contenedores Swing en Netbeans
 
Ordenamientos externos
Ordenamientos externosOrdenamientos externos
Ordenamientos externos
 
Algoritmos de ordenamiento externos
Algoritmos de ordenamiento externosAlgoritmos de ordenamiento externos
Algoritmos de ordenamiento externos
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 

Similar a Java Colecciones

Rios jenny taller1
Rios jenny taller1Rios jenny taller1
Rios jenny taller1Ing. Ríos
 
Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gioRobert Wolf
 
DAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamientoDAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamientovay82
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)Oscar V
 
Poo Java
Poo JavaPoo Java
Poo Javaeccutpl
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completadoKai Exo
 
Mapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasMapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasChristian Collaguazo Malla
 
Stl bliblioteca de plantillas estandar
Stl bliblioteca de plantillas estandarStl bliblioteca de plantillas estandar
Stl bliblioteca de plantillas estandarAnabel Duarte
 
18448198 programacion-orientada-a-objetos
18448198 programacion-orientada-a-objetos18448198 programacion-orientada-a-objetos
18448198 programacion-orientada-a-objetosDavid Henrry Rosas Cruz
 

Similar a Java Colecciones (20)

Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
 
colecciones en java
colecciones en javacolecciones en java
colecciones en java
 
Programación Orientada a Objetos
Programación Orientada  a ObjetosProgramación Orientada  a Objetos
Programación Orientada a Objetos
 
Informe Poo
Informe PooInforme Poo
Informe Poo
 
Rios jenny taller1
Rios jenny taller1Rios jenny taller1
Rios jenny taller1
 
Colecciones
ColeccionesColecciones
Colecciones
 
Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gio
 
Biblioteca
BibliotecaBiblioteca
Biblioteca
 
Leccion 11 Java
Leccion 11 JavaLeccion 11 Java
Leccion 11 Java
 
DAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamientoDAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamiento
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Java Collection Framework: lo que todo Java Dev debe conocer
Java Collection Framework: lo que todo Java Dev debe conocerJava Collection Framework: lo que todo Java Dev debe conocer
Java Collection Framework: lo que todo Java Dev debe conocer
 
S6-Contenedores
S6-ContenedoresS6-Contenedores
S6-Contenedores
 
S6-POO-3.2 Contenedores Especiales
S6-POO-3.2 Contenedores EspecialesS6-POO-3.2 Contenedores Especiales
S6-POO-3.2 Contenedores Especiales
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
Colecciones en Scala
Colecciones en ScalaColecciones en Scala
Colecciones en Scala
 
Mapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasMapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones Parametrizadas
 
Stl bliblioteca de plantillas estandar
Stl bliblioteca de plantillas estandarStl bliblioteca de plantillas estandar
Stl bliblioteca de plantillas estandar
 
18448198 programacion-orientada-a-objetos
18448198 programacion-orientada-a-objetos18448198 programacion-orientada-a-objetos
18448198 programacion-orientada-a-objetos
 

Más de Angel Vázquez Patiño

Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasAngel Vázquez Patiño
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Angel Vázquez Patiño
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorAngel Vázquez Patiño
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealAngel Vázquez Patiño
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesAngel Vázquez Patiño
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Angel Vázquez Patiño
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesAngel Vázquez Patiño
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer ordenAngel Vázquez Patiño
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónAngel Vázquez Patiño
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Angel Vázquez Patiño
 

Más de Angel Vázquez Patiño (20)

Funciones, límites y continuidad
Funciones, límites y continuidadFunciones, límites y continuidad
Funciones, límites y continuidad
 
Integral definida e integración
Integral definida e integraciónIntegral definida e integración
Integral definida e integración
 
Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficas
 
Derivada y diferenciación
Derivada y diferenciaciónDerivada y diferenciación
Derivada y diferenciación
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calor
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO lineal
 
La ecuación diferencial de Legendre
La ecuación diferencial de LegendreLa ecuación diferencial de Legendre
La ecuación diferencial de Legendre
 
Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante series
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuaciones
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer orden
 
Sistemas de EDOs
Sistemas de EDOsSistemas de EDOs
Sistemas de EDOs
 
Método de la secante
Método de la secanteMétodo de la secante
Método de la secante
 
Iteraciones de punto fijo
Iteraciones de punto fijoIteraciones de punto fijo
Iteraciones de punto fijo
 
Objetos y variables en Python
Objetos y variables en PythonObjetos y variables en Python
Objetos y variables en Python
 
Definiciones de Error
Definiciones de ErrorDefiniciones de Error
Definiciones de Error
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y Programación
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
 

Último

TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
TALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaTALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaSantiagoSanchez353883
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 

Último (20)

TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
TALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaTALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación pública
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 

Java Colecciones

  • 1. UNIVERSIDAD DE CUENCA Nombre: Erick Barzallo Fecha: 20/octubre/2016 Tema: Colecciones Materia: Programación 3
  • 2. INTRODUCCIÓN • Java dispone de un conjunto de clases para la agrupación de objetos llamados Colecciones • La organización de objetos es de forma particular como un mapa, una lista, un conjunto, entre otros. • Son de importancia debido a la facilidad en el diseño y construcción de aplicaciones basadas en estructuras de datos
  • 3. 1. COLECCIONES EN JAVA • Las colecciones son agrupaciones de objetos relacionados que forman una única entidad, como por ejemplo: el array, el vector, la matriz, etc. • Incluyen: clases contenedoras para almacenar objetos, Iteradores para el acceso y algoritmos para la manipulación de los objetos
  • 4.
  • 5. 1.1. TIPOS DE COLECCIONES • Existen 3 tipos generales de colecciones: • Conjuntos • Listas • Mapas • Los interfaces Set, List y Map, describen las características generales de estos.
  • 6. • El diseño de estas colecciones tuvo muy en cuenta los problemas de seguridad que pudieran surgir con la ejecución de múltiples tareas • Si varios hilos acceden a una de esas estructuras garantiza que los accesos estén sincronizados • La declaración de métodos de la clase Stack, todos ellos con el comportamiento de sincronización son: • Desde Java 2, se puede observar la declaración de métodos de la colección ArrayList
  • 7. 2. ARRAYS Y COLLECTIONS • La clase Array agrupa algoritmos útiles que se aplican, en general a los Arrays de los tipos primitivos • Collections también es una clase, pero de métodos static que implementan algoritmos aplicados a todo tipo de colecciones • Vector, colección histórica, diseñada para guardar objetos de cualquier tipo.
  • 8. 2.1. CLASE ARRAY • Java incorpora esta clase para disponer de métodos que trabajen con arreglos de cualquier tipo • Estos métodos implementan algoritmos de búsqueda, ordenación y de asignación de un valor al array completo • No se pueden crear objetos de la clase Arrays ya que su constructor es privado
  • 9. ORDENACIÓN DE ARRAYS • El método de ordenación short(), esta sobrecargado, de tal forma que puede ordenar un array de cualquier tipo primitivo • El método implementa un algoritmo de ordenación QuickSort que asegura una eficiencia n log(n)
  • 10.
  • 11. BÚSQUEDA DE UNA CLAVE • Se lo realiza sobre un array ordenado • La clase array dispone del método static binarySearch(), el cual se usa para realizar búsquedas dentro del array • EL método devuelve la posición del elemento • El método implementa el algoritmo de búsqueda binaria con una eficiencia de log(n)
  • 12. ASIGNACIÓN DE UN ELEMENTO • Otra utilidad de la clase array, es el método fill() • El método permite realizar la asignación de un elemento a todas las posiciones o bien a un rango del array
  • 13. 2.2. CLASE COLLECTIONS • Diseñada para trabajar con colecciones List, Map, Set; en general sobre cualquier Collection • Se encuentra en el paquete java.útil y agrupa métodos static • Implementan algoritmos genéricos de ordenación, búsqueda, máximo y mínimo
  • 14. ORDENACIÓN Y BÚSQUEDA • Los métodos de ordenación se aplican a una lista cuyos elementos implementan la interfaz Comparable • Hay una sobrecarga de métodos para realizar la comparación con la interfaz Comparator
  • 15. MÁXIMO Y MÍNIMO • Los métodos max(), min(), devuelven el máximo y el mínimo respectivos de una colección • Para su operación, los elementos deben implementar la interfaz Comparable y ser mutuamente comprables
  • 16. SINCRONIZACIÓN Y CONVERSIÓN A SOLO LECTURA • Para la sincronización, Collections dispone de método que se aplican a cada tipo de colección • Los métodos de conversión a solo lectura levantan una excepción UnsupportedOperationException a las operación de añadir y remover
  • 17. UTILIDADES • La clase Collections, dispone de métodos útiles para ciertos procesos algorítmicos • nCopies() crea una lista de n copias de un elemento • copy() crea una lista copia de otra • fill() rellena todos los elementos de una lista con un objeto • reverse() invierte la posición de los elementos de una lista • shuffle() reordena aleatoriamente los elementos de una lista
  • 18.
  • 19. 3. COMPARACIÓN DE OBJETOS: COMPARABLE Y COMPARATOR • Numerosas operaciones con colecciones exigen que sus elementos sean comparables • Determinar si un elemento es menor, igual o mayor que otro • Implementando la interfaz Comparable, o bien la interfaz Comparator
  • 20. 3.1. COMPARABLE • La interfaz Comparable se utiliza para establecer un orden natural entre los objetos de una misma clase • Proviene del paquete java.lang • Si el compareTo() devuelve un valor negativo, el objeto es menor. Si el valor es 0, son iguales y si devuelve un valor positivo, el objeto es mayor, todos esos comparados al paso de argumento • Todas las clases que representan a tipos primitivos: Integer, Double, etc, y la clase String implementan la interfaz Comparable. La implementación de compareTo() en String distingue mayúsculas de minúsculas
  • 21. 3.2. COMPARATOR • Algunos métodos de ordenación y búsqueda de objetos, usan la interfaz comparator, el cual determina el orden natural entre dos elementos • Su interfaz se encuentra en el paquete java.útil • El método compare() relaciona dos objetos sin necesidad que sean del mismo tipo. • Si ob1 es menor, devuelve un valor negativo, cero si son iguales y un valor positivo si ob1 es mayor que ob2
  • 22. BIBLIOGRAFÍA • Joyanes, L. and Zahonero, I. (2008). Estructura de Datos en Java. 1st ed. Madrid: Mc Graw Hill, pp.488 - 498. • Plaza, A. and Ortiz, M. ed., (2013). Programación Orientada a Objetos y UML. 1st ed. Cuenca: Abya-Yala, pp.165 - 170.