SlideShare une entreprise Scribd logo
1  sur  34
Programación 3
Listas y Conjuntos
Mateo Quizhpi – mateo.quizhpi@ucuenca.ec
Escuela de Ingeniería de Sistemas
Universidad de Cuenca
25 de octubre de 2016
Contenido
 Introducción
 Listas
 ArrayList
 LinkedList
 Conjuntos
 AbstractSet
 HashSet
 TreeSet
Introducción
 LISTAS  CONJUNTOS
LISTAS
 Agrupación lineal de elementos, que pueden duplicarse
 Sus elementos son añadidos por la cabeza, por el final o por cualquier punto
 Sus elementos pueden ser eliminados de uno a uno o ya sea toda una colección
 Existen dos tipos de listas: secuenciales y enlazadas
 Implementa la interfaz clonable
 El concepto general en Java de lista lo maneja la interfaz List y es la raíz jerárquica de toda
colección de tipo lista
List lista;
lista = new ArrayList();
lista = new LinkedList();
ARRAYLIST
 Agrupa elementos, asemejándose a un array (índice)
 Se puede acceder a cualquier elemento, insertar o borrar a partir del índice en cualquier
posición
 Ineficiencia al “procesar” datos en posiciones intermedias
 La clase ArrayList implementa los métodos de la interfaz List, y el método clone() de la interfaz
Cloneable para poder crear una copia independiente de la colección.
 Constructores de la clase ArrayList:
public ArrayList();
public ArrayList(int capacidad);
public ArrayList(Collection c);
EJEMPLO - ARRAYLIST
 Se realizan las operaciones de añadir, eliminar, buscar y reemplazar con una colección de tipo
ArrayList:
RESÚMEN - ARRAYLIST
LINKEDLIST
 Organiza los elementos de una colección a la manera de una lista doblemente enlazada
 Las operaciones de inserción y borrado en posiciones intermedias son muy eficientes; por el
contrario, el acceso a un elemento por índice es ineficiente
 Se puede usar LinkedList para crear una estructura de datos Cola o Pila
 Dos tipos de constructores: un constructor sin argumentos que crea una lista vacía, y otro
constructor que crea la lista con los elementos de otra colección
public LinkedList();
public LinkedList(Collection c);
EJEMPLO – LINKED LIST
 Encontrar un numero capicúa leído del dispositivo estándar de entrada
UTILIZACIÓN – LINKED LIST
MÉTODOS - LINKEDLIST
 Las operaciones generales de las listas y métodos específicos que operan sobre el primer y
último elemento son:
public Object getFirst()
public Object getLast()
public void addFirst(Object ob)
public void addLast(Object ob)
public Object removeFirst()
public Object removeFirst()
CONJUNTOS
 Colección de elementos no duplicados
 Hay dos tipos de implementaciones, una, a partir de la interfaz SortedSet, mantiene en orden los
elementos, otra sin un orden establecido
 La interfaz Set declara las operaciones generales de los conjuntos y es la raíz de la jerarquía
 Todas las operaciones matemáticas de los conjuntos (unión, intersección, etc) se realizan con los
métodos de las clases concretas HashSet y TreeSet
ABSTRACT SET
 Esta clase abstracta deriva de AbstractCollection y por tanto hereda sus métodos tal como los
define, que además no redefine.
 Métodos:
equals() devuelve true si el conjunto actual contiene los mismos elementos que el conjunto
pasado en el argumento.
removeAll(Collection c) quita los elementos que están en la colección c. Devuelve
true si ha habido alguna modificación o, lo que es igual, si al menos hay un elemento en c.
HASHSET
 Guarda los elementos de un conjunto sin mantener un orden
 Los elementos del conjunto se guardan en una tabla hash
 Utilizando los constructores de la clase HashSet se puede crear un conjunto vacío o un
 conjunto con los elementos de otra colección:
 La declaración de la clase es la siguiente:
MÉTODOS - HASHSET
 Los métodos que implementa HashSet son:
public boolean add(Object ob) si el elemento no está lo añade y devuelve true.
boolean remove(Object ob)  si ob pertenece al conjunto es eliminado y devuelve
true.
public void clear()  deja vacío el conjunto.
public Iterator iterator()  crea un iterador.
public int size() devuelve el número de elementos.
public boolean isEmpty() devuelve true si está vacío.
public boolean contains(Object ob) devuelve true si ob pertenece al conjunto.
public Object clone() crea una copia del conjunto.
OPERACIONES DE CONJUNTOS
 Unión de conjuntos
La operación algebraica unión de dos conjuntos produce otro conjunto con los elementos
comunes y no comunes. El método heredado de AbstractCollection, addAll(), realiza esta
operación.
 Intersección de conjuntos
La intersección de dos conjuntos produce otro conjunto con los elementos comunes. El
método retainAll(), heredado de AbstractCollection, realiza esta operación.
 Diferencia de conjuntos
La diferencia de dos conjuntos, c2- c1, es otro conjunto con los elementos de c2 que no
pertenecen a c1. La llamada a removeAll() produce el conjunto diferencia.
EJEMPLO - HASHSET
 Crear dos conjuntos de enteros y realizar las operaciones algebraicas: unión, diferencia e
intersección.
INSTANCIACIÓN – HASH SET
ITERADOR – HASH SET
TREESET
 Los conjuntos de tipo TreeSet se diferencian de los HashSet por mantener en orden los
elementos
 La ordenación puede ser ascendente, es decir en el orden natural determinado por la interfaz
Comparable; o bien el orden que establece la implementación de la interfaz Comparator
 Los métodos de esta implementación se encuentra en la interfaz SortedSet
 La declaración de la interfaz y de la clase son las siguientes:
MÉTODOS - TREESET
 La especificación de los métodos más importantes SortedSet está basada en la ordenación, son
los siguientes:
SortedSet subSet(Object desde, Object hasta)  Devuelve el subconjunto formado
por los elementos mayor o igual que, desde y menor que hasta.
SortedSet tailSet(Object desde)  Devuelve el subconjunto formado por elementos
mayores o igual que desde.
SortedSet headSet(Object hasta) Devuelve el subconjunto formado por los elementos
estrictamente menores que hasta.
 Los subconjuntos que se obtienen son “visiones” del conjunto origen; y toda modificación del
subconjunto modifica el conjunto origen, y viceversa. Además, first() y last() devuelven,
respectivamente, el primero y último elementos.
CONSTRUCTORES - TREESET
 Posee 4 constructores:
El primero crea un conjunto vacío
El segundo también y además establece el objeto comparator a partir del cual realizará la
ordenación de los elementos.
Los otros dos constructores crean el conjunto a partir de otro conjunto, o con los elementos
de cualquier colección.
EJEMPLOS - TREESET
 Crear dos conjuntos ordenados cuyos elementos sean cadenas de caracteres (String). Realizar
operaciones de insertar, eliminar, obtener subconjunto y operaciones algebraicas de unión,
diferencia e intersección.
COMPARATOR – TREE SET
BIBLIOGRAFÍA
 Joyanes Aguilar, L. Zahonero Martinez, I. (2008), Estructura de Datos en Java, Madrid, España:
MCGRAW-HILL/INTERAMERICANA.

Contenu connexe

Tendances (20)

Colas
ColasColas
Colas
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Ejercicios resueltos con Python
Ejercicios resueltos con PythonEjercicios resueltos con Python
Ejercicios resueltos con Python
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacion
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 
Mergesort
MergesortMergesort
Mergesort
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 

Similaire à Programación 3: listas y conjuntos en java

Iteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en JavaIteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en JavaGaby Delgado
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en javaMaîck Ddz
 
Jyoc java-cap11 colecciones
Jyoc java-cap11 coleccionesJyoc java-cap11 colecciones
Jyoc java-cap11 coleccionesJyoc X
 
2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y OperadoresUVM
 
Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gioRobert Wolf
 
Mapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasMapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasChristian Collaguazo Malla
 
Listas en C#
Listas en C#Listas en C#
Listas en C#rezzaca
 
Declaración y creación de un arraylist
Declaración y creación de un arraylistDeclaración y creación de un arraylist
Declaración y creación de un arraylistRobert Wolf
 
Listas c#
Listas c#Listas c#
Listas c#rezzaca
 
Biblioteca java.util por gio
Biblioteca java.util por gioBiblioteca java.util por gio
Biblioteca java.util por gioRobert Wolf
 
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
 
Scala collections
Scala collectionsScala collections
Scala collectionscrissbal94
 

Similaire à Programación 3: listas y conjuntos en java (20)

4_colecciones.ppt
4_colecciones.ppt4_colecciones.ppt
4_colecciones.ppt
 
Iteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en JavaIteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en Java
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
 
Programacion
ProgramacionProgramacion
Programacion
 
Jyoc java-cap11 colecciones
Jyoc java-cap11 coleccionesJyoc java-cap11 colecciones
Jyoc java-cap11 colecciones
 
2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores
 
Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gio
 
Mapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasMapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones Parametrizadas
 
Java 8 collections
Java 8  collectionsJava 8  collections
Java 8 collections
 
Listas en C#
Listas en C#Listas en C#
Listas en C#
 
Java colecciones
Java coleccionesJava colecciones
Java colecciones
 
colecciones en java
colecciones en javacolecciones en java
colecciones en java
 
Array listlistas
Array listlistasArray listlistas
Array listlistas
 
Declaración y creación de un arraylist
Declaración y creación de un arraylistDeclaración y creación de un arraylist
Declaración y creación de un arraylist
 
Presentación1
Presentación1Presentación1
Presentación1
 
Listas c#
Listas c#Listas c#
Listas c#
 
Biblioteca java.util por gio
Biblioteca java.util por gioBiblioteca java.util por gio
Biblioteca java.util por gio
 
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
 
Scala collections
Scala collectionsScala collections
Scala collections
 
Colecciones
ColeccionesColecciones
Colecciones
 

Plus 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
 

Plus 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...
 

Dernier

Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOLUISDAVIDVIZARRETARA
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOFritz Rebaza Latoche
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
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
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 

Dernier (20)

Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.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
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 

Programación 3: listas y conjuntos en java

  • 1. Programación 3 Listas y Conjuntos Mateo Quizhpi – mateo.quizhpi@ucuenca.ec Escuela de Ingeniería de Sistemas Universidad de Cuenca 25 de octubre de 2016
  • 2. Contenido  Introducción  Listas  ArrayList  LinkedList  Conjuntos  AbstractSet  HashSet  TreeSet
  • 4. LISTAS  Agrupación lineal de elementos, que pueden duplicarse  Sus elementos son añadidos por la cabeza, por el final o por cualquier punto  Sus elementos pueden ser eliminados de uno a uno o ya sea toda una colección  Existen dos tipos de listas: secuenciales y enlazadas  Implementa la interfaz clonable  El concepto general en Java de lista lo maneja la interfaz List y es la raíz jerárquica de toda colección de tipo lista List lista; lista = new ArrayList(); lista = new LinkedList();
  • 5. ARRAYLIST  Agrupa elementos, asemejándose a un array (índice)  Se puede acceder a cualquier elemento, insertar o borrar a partir del índice en cualquier posición  Ineficiencia al “procesar” datos en posiciones intermedias  La clase ArrayList implementa los métodos de la interfaz List, y el método clone() de la interfaz Cloneable para poder crear una copia independiente de la colección.  Constructores de la clase ArrayList: public ArrayList(); public ArrayList(int capacidad); public ArrayList(Collection c);
  • 6. EJEMPLO - ARRAYLIST  Se realizan las operaciones de añadir, eliminar, buscar y reemplazar con una colección de tipo ArrayList:
  • 7.
  • 8.
  • 10. LINKEDLIST  Organiza los elementos de una colección a la manera de una lista doblemente enlazada  Las operaciones de inserción y borrado en posiciones intermedias son muy eficientes; por el contrario, el acceso a un elemento por índice es ineficiente  Se puede usar LinkedList para crear una estructura de datos Cola o Pila  Dos tipos de constructores: un constructor sin argumentos que crea una lista vacía, y otro constructor que crea la lista con los elementos de otra colección public LinkedList(); public LinkedList(Collection c);
  • 11. EJEMPLO – LINKED LIST  Encontrar un numero capicúa leído del dispositivo estándar de entrada
  • 12.
  • 13.
  • 15. MÉTODOS - LINKEDLIST  Las operaciones generales de las listas y métodos específicos que operan sobre el primer y último elemento son: public Object getFirst() public Object getLast() public void addFirst(Object ob) public void addLast(Object ob) public Object removeFirst() public Object removeFirst()
  • 16. CONJUNTOS  Colección de elementos no duplicados  Hay dos tipos de implementaciones, una, a partir de la interfaz SortedSet, mantiene en orden los elementos, otra sin un orden establecido  La interfaz Set declara las operaciones generales de los conjuntos y es la raíz de la jerarquía  Todas las operaciones matemáticas de los conjuntos (unión, intersección, etc) se realizan con los métodos de las clases concretas HashSet y TreeSet
  • 17. ABSTRACT SET  Esta clase abstracta deriva de AbstractCollection y por tanto hereda sus métodos tal como los define, que además no redefine.  Métodos: equals() devuelve true si el conjunto actual contiene los mismos elementos que el conjunto pasado en el argumento. removeAll(Collection c) quita los elementos que están en la colección c. Devuelve true si ha habido alguna modificación o, lo que es igual, si al menos hay un elemento en c.
  • 18. HASHSET  Guarda los elementos de un conjunto sin mantener un orden  Los elementos del conjunto se guardan en una tabla hash  Utilizando los constructores de la clase HashSet se puede crear un conjunto vacío o un  conjunto con los elementos de otra colección:  La declaración de la clase es la siguiente:
  • 19. MÉTODOS - HASHSET  Los métodos que implementa HashSet son: public boolean add(Object ob) si el elemento no está lo añade y devuelve true. boolean remove(Object ob)  si ob pertenece al conjunto es eliminado y devuelve true. public void clear()  deja vacío el conjunto. public Iterator iterator()  crea un iterador. public int size() devuelve el número de elementos. public boolean isEmpty() devuelve true si está vacío. public boolean contains(Object ob) devuelve true si ob pertenece al conjunto. public Object clone() crea una copia del conjunto.
  • 20. OPERACIONES DE CONJUNTOS  Unión de conjuntos La operación algebraica unión de dos conjuntos produce otro conjunto con los elementos comunes y no comunes. El método heredado de AbstractCollection, addAll(), realiza esta operación.  Intersección de conjuntos La intersección de dos conjuntos produce otro conjunto con los elementos comunes. El método retainAll(), heredado de AbstractCollection, realiza esta operación.  Diferencia de conjuntos La diferencia de dos conjuntos, c2- c1, es otro conjunto con los elementos de c2 que no pertenecen a c1. La llamada a removeAll() produce el conjunto diferencia.
  • 21. EJEMPLO - HASHSET  Crear dos conjuntos de enteros y realizar las operaciones algebraicas: unión, diferencia e intersección.
  • 22.
  • 23.
  • 25.
  • 27. TREESET  Los conjuntos de tipo TreeSet se diferencian de los HashSet por mantener en orden los elementos  La ordenación puede ser ascendente, es decir en el orden natural determinado por la interfaz Comparable; o bien el orden que establece la implementación de la interfaz Comparator  Los métodos de esta implementación se encuentra en la interfaz SortedSet  La declaración de la interfaz y de la clase son las siguientes:
  • 28. MÉTODOS - TREESET  La especificación de los métodos más importantes SortedSet está basada en la ordenación, son los siguientes: SortedSet subSet(Object desde, Object hasta)  Devuelve el subconjunto formado por los elementos mayor o igual que, desde y menor que hasta. SortedSet tailSet(Object desde)  Devuelve el subconjunto formado por elementos mayores o igual que desde. SortedSet headSet(Object hasta) Devuelve el subconjunto formado por los elementos estrictamente menores que hasta.  Los subconjuntos que se obtienen son “visiones” del conjunto origen; y toda modificación del subconjunto modifica el conjunto origen, y viceversa. Además, first() y last() devuelven, respectivamente, el primero y último elementos.
  • 29. CONSTRUCTORES - TREESET  Posee 4 constructores: El primero crea un conjunto vacío El segundo también y además establece el objeto comparator a partir del cual realizará la ordenación de los elementos. Los otros dos constructores crean el conjunto a partir de otro conjunto, o con los elementos de cualquier colección.
  • 30. EJEMPLOS - TREESET  Crear dos conjuntos ordenados cuyos elementos sean cadenas de caracteres (String). Realizar operaciones de insertar, eliminar, obtener subconjunto y operaciones algebraicas de unión, diferencia e intersección.
  • 31.
  • 33.
  • 34. BIBLIOGRAFÍA  Joyanes Aguilar, L. Zahonero Martinez, I. (2008), Estructura de Datos en Java, Madrid, España: MCGRAW-HILL/INTERAMERICANA.