SlideShare una empresa de Scribd logo
1 de 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.

Más contenido relacionado

La actualidad más candente

Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discretaJunior Soto
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y NodosBoris Salleg
 
Relacion Simetrica
Relacion SimetricaRelacion Simetrica
Relacion Simetricageogenial
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansDaniel Gómez
 
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 colasHuascar Génere
 
Sistemas de ecuaciones
Sistemas de ecuacionesSistemas de ecuaciones
Sistemas de ecuacionesujgh
 
Ordenamiento con árbol binario
Ordenamiento con árbol binarioOrdenamiento con árbol binario
Ordenamiento con árbol binarioMauricio Solano
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
Inversa de una matriz
Inversa de una matrizInversa de una matriz
Inversa de una matrizalgebra
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOWilmer Quintero
 
Estructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafosEstructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafosMiguel Rodríguez
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortlinkinpark03
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sqlByron Eras
 

La actualidad más candente (20)

Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y Nodos
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Relacion Simetrica
Relacion SimetricaRelacion Simetrica
Relacion Simetrica
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
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
 
Sistemas de ecuaciones
Sistemas de ecuacionesSistemas de ecuaciones
Sistemas de ecuaciones
 
Ordenamiento con árbol binario
Ordenamiento con árbol binarioOrdenamiento con árbol binario
Ordenamiento con árbol binario
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Inversa de una matriz
Inversa de una matrizInversa de una matriz
Inversa de una matriz
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIO
 
Estructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafosEstructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafos
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sort
 
Estructura switch case
Estructura switch caseEstructura switch case
Estructura switch case
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
 
Producto interno
Producto internoProducto interno
Producto interno
 

Similar a 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
 

Similar a 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
 

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

Química Analítica-U1y2-2024.pdf. Unidades 1 y 2
Química Analítica-U1y2-2024.pdf. Unidades 1 y 2Química Analítica-U1y2-2024.pdf. Unidades 1 y 2
Química Analítica-U1y2-2024.pdf. Unidades 1 y 2santiagoBernabei8
 
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEfrain Yungan
 
Sales binarias y oxisales química inorganica
Sales binarias y oxisales química inorganicaSales binarias y oxisales química inorganica
Sales binarias y oxisales química inorganicakiaranoemi
 
Wal-Mart batalla con RFID...............
Wal-Mart batalla con RFID...............Wal-Mart batalla con RFID...............
Wal-Mart batalla con RFID...............osoriosantiago887
 
bombas-hidraulicas para permitir transporte en una instalación
bombas-hidraulicas para permitir  transporte en una instalaciónbombas-hidraulicas para permitir  transporte en una instalación
bombas-hidraulicas para permitir transporte en una instalaciónLuisLobatoingaruca
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfEberCV1
 
Transporte y Manipulación de Explosivos - SUCAMEC
Transporte y Manipulación de Explosivos - SUCAMECTransporte y Manipulación de Explosivos - SUCAMEC
Transporte y Manipulación de Explosivos - SUCAMECamador030809
 
R. Contraloria 432-2023-CG obras x AD.pdf
R. Contraloria 432-2023-CG obras x AD.pdfR. Contraloria 432-2023-CG obras x AD.pdf
R. Contraloria 432-2023-CG obras x AD.pdfrudy cabezas
 
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxPRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxStibeCr
 
Guía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososGuía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososAdrianVarela22
 
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdfMANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdfciteagrohuallaga07
 
METASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.pptMETASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.pptSANTOS400018
 
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfINFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfsolidalilaalvaradoro
 
Analisis de reparación de fisuras superficiales en pavimentos.pptx
Analisis de reparación de fisuras superficiales en pavimentos.pptxAnalisis de reparación de fisuras superficiales en pavimentos.pptx
Analisis de reparación de fisuras superficiales en pavimentos.pptxasotomayorm2
 
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxaxelalejossantos
 
electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejerciciosEfrain Yungan
 
GeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdfGeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdffredyflores58
 
Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)esmerling14
 
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docxMONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docxValentinaRavelo5
 
Unidad_1_Parte_1 organización y estructura de los seres vivos
Unidad_1_Parte_1 organización y estructura de los seres vivosUnidad_1_Parte_1 organización y estructura de los seres vivos
Unidad_1_Parte_1 organización y estructura de los seres vivossolareslionel9
 

Último (20)

Química Analítica-U1y2-2024.pdf. Unidades 1 y 2
Química Analítica-U1y2-2024.pdf. Unidades 1 y 2Química Analítica-U1y2-2024.pdf. Unidades 1 y 2
Química Analítica-U1y2-2024.pdf. Unidades 1 y 2
 
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
 
Sales binarias y oxisales química inorganica
Sales binarias y oxisales química inorganicaSales binarias y oxisales química inorganica
Sales binarias y oxisales química inorganica
 
Wal-Mart batalla con RFID...............
Wal-Mart batalla con RFID...............Wal-Mart batalla con RFID...............
Wal-Mart batalla con RFID...............
 
bombas-hidraulicas para permitir transporte en una instalación
bombas-hidraulicas para permitir  transporte en una instalaciónbombas-hidraulicas para permitir  transporte en una instalación
bombas-hidraulicas para permitir transporte en una instalación
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
Transporte y Manipulación de Explosivos - SUCAMEC
Transporte y Manipulación de Explosivos - SUCAMECTransporte y Manipulación de Explosivos - SUCAMEC
Transporte y Manipulación de Explosivos - SUCAMEC
 
R. Contraloria 432-2023-CG obras x AD.pdf
R. Contraloria 432-2023-CG obras x AD.pdfR. Contraloria 432-2023-CG obras x AD.pdf
R. Contraloria 432-2023-CG obras x AD.pdf
 
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxPRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
 
Guía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososGuía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrosos
 
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdfMANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
 
METASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.pptMETASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.ppt
 
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfINFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
 
Analisis de reparación de fisuras superficiales en pavimentos.pptx
Analisis de reparación de fisuras superficiales en pavimentos.pptxAnalisis de reparación de fisuras superficiales en pavimentos.pptx
Analisis de reparación de fisuras superficiales en pavimentos.pptx
 
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
 
electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicios
 
GeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdfGeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdf
 
Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)
 
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docxMONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
 
Unidad_1_Parte_1 organización y estructura de los seres vivos
Unidad_1_Parte_1 organización y estructura de los seres vivosUnidad_1_Parte_1 organización y estructura de los seres vivos
Unidad_1_Parte_1 organización y estructura de los seres vivos
 

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.