SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Prof. Renny Batista Programación IIIOctubre, 2015
Colecciones en Java
Colecciones
Es un objeto que almacena un conjunto de referencias a otros objetos, dicho
de otra manera es una especie de arreglo (array) de objetos.
Las colecciones son dinámicas, no tienen un tamaño fijo y permiten añadir y
eliminar objetos en tiempo de ejecución.
Java incluye en el paquete java.util un diverso conjunto de clases para la
creación y manejo de las colecciones. Todas ellas proporcionan una serie de
métodos para realizar operaciones básicas sobre una colección:
Añadir objetos a la colección
Eliminar objetos de la colección
Obtener un objeto
Localizar algún objeto de la colección
Iterar a través de la colección
Colecciones – La interfaz Collection
La interfaz Collection es la interfaz raíz en la jerarquía de colecciones, a
partir de la cual se derivan las interfaces Set y List. La interfaz Collection
contiene operaciones masivas para agregar, borrar, comparar y retener
objetos en una colección.
La interfaz Collection proporciona un método llamado iterator para
obtener un objeto Iterator.
La clase Collections proporciona métodos static para manipular
colecciones. Muchos de los métodos son implementaciones de algoritmos
polimórficos para buscar, ordenar, etcétera.
Colecciones – La interfaz Collection
Katy Sierra, Bert Bates - SCJP 6 Study Guide
Diagrama de decisión para el uso de colecciones
http://www.adictosaltrabajo.com/tutoriales/introduccion-a-colecciones-en-java/
Colecciones de tipo genéricos
El uso de colecciones basadas en tipos genéricos proporciona un mecanismo
que permite notificar al compilador el tipo de objeto que va a ser
almacenado en la colección.
Cualquier instrucción que intente almacenar en la colección un objeto de un
tipo que no sea el especificado provocará un error de compilación.
Dado que se conoce el tipo de objeto almacenado en la colección, no será
necesario realizar una conversión explícita (casting) durante su recuperación.
El tipo especificado durante la utilización de las colecciones genéricas
solamente pueden ser de tipo objeto, no siendo posible utilizar tipos básicos
(primitivos) de Java.
ArrayList
Un ArrayList representa una colección basada en índices, en la que cada
objeto de la misma tiene asociado un número (índice) según la posición que
ocupa dentro de la colección, siendo 0 la posición del primer elemento.
ArrayList
Clase Persona
0
1
2
n
Índices Class Persona{
private String id;
private String nombre;
private int edad;
}
001 Pedro 34
002 María 25
003 Luis 30
Objetos
Creación de un ArrayList
Para crear un ArrayList utilizamos la expresión:
ArrayList <tipo_objeto> variable = new ArrayList <tipo_objeto>();
Ejemplo:
//ArrayList de tipo cadena
ArrayList<String> arraylist=new ArrayList<String>();
//ArrayList de objetos del tipo Persona
ArrayList<Persona> arraylist=new ArrayList<Persona>();
Creación de un ArrayList
Ejemplo:
//Se crea una clase llamada Estudiante
public class Estudiante {
String id;
String nombre;
int edad;
Estudiante(String id,String nombre,int edad){
this.id = id;
this.nombre = nombre;
this.edad=edad;
}
}
Creación de un ArrayList - Ejemplo
import java.util.*;
public class EjemploColeccion {
public static void main(String args[]){
Estudiante estudiante1=new Estudiante("001","Pedro",35);
Estudiante estudiante2=new Estudiante("002","Maria",24);
Estudiante estudiante3=new Estudiante("003","Luis",28);
ArrayList<Estudiante> arraylist=new ArrayList<Estudiante>();
arraylist.add(estudiante1);
arraylist.add(estudiante2);
arraylist.add(estudiante3);
Iterator<Estudiante> itr=arraylist.iterator();
while(itr.hasNext()){
Estudiante estudiante=(Estudiante)itr.next();
System.out.println(estudiante.id+"t"+estudiante.nombre+"t"+estudiante.edad);
}
}
}
Crea el ArrayList de
objetos Estudiante
Instanciando objetos de la
clase Estudiante
Agregamos los objetos al
ArrayList (método add)
Se crea un objeto del tipo
Iterator
Recorremos el ArrayList
Algunos métodos de la clase ArrayList
add(Object objeto) añade un nuevo objeto a la colección.
add(int indice, Object objeto) añade un objeto a la colección en la
posición especificada por el índice, desplazando el resto de los elementos.
get(int indice) devuelve el objeto que ocupa la posición indicada.
remove(int indice) elimina de la colección el objeto que ocupa la
posición indicada.
clear() elimina todos los objetos de la colección.
indexOf(Object objeto) localiza en el ArrayList el objeto indicado cómo
parámetro, devolviendo su posición. En caso de que el objeto no se
encuentre en la colección la invocación al método devolverá -1.
size() devuelve el número de elementos almacenados en la colección.
Hashtable
Un Hashtable representa una colección basada en claves, dónde los objetos
almacenados en la misma (valores) no tienen asociado un índice numérico
basado en su posición, sino una clave que lo identifica de forma única dentro
de la colección. Una clave puede ser cualquier tipo de objeto.
Hashtable
Clase Persona
001
002
003
Objn
Claves
Objectos Class Persona{
private String id;
private String nombre;
private int edad;
private char sexo;
}
Pedro 34 ‘M’
María 25 ‘F’
Luis 30 ‘M’
Valor
Objetos
Hashtable
El uso de colecciones basadas en claves resulta útil en aquellas aplicaciones en
las que se requiera realizar búsquedas de objetos a partir de un dato que lo
identifica.
Por ejemplo, si se va a tratar una colección de objetos de tipo “Persona”,
resulta más practico almacenarlo en un hashtable, asociando como clave el
valor de atributo “Id” o “Código” del objeto Persona.
Creación de un objeto Hashtable:
//Declaración simple
Hashtable variable_hash = new Hashtable<>();
//Declaración tipos genericos
Hashtable<Obj, Obj> variable_hash = new Hashtable<Obj, Obj>();
Tipo de Objeto
(Valor)
Tipo de Objeto
(Clave)
Algunos métodos de la clase Hashtable
put(Object key, Object valor) añade a la colección el objeto valor,
asignándole la clave especificada por key. En caso de existir esa clave en la
colección, el objeto que tenía asignado esa clave se sustituye por el nuevo
objeto valor, devolviendo el objeto sustituido.
containsKey(Object key) indica si la clave especificada existe o no en la
colección.
get(Object key) devuelve el valor que tiene asociado la clave que se
indica en el parámetro.
remove(Object key) elimina de la colección el objeto cuya clave se
especifique en el parámero.
size() devuelve el número de elementos almacenados en la colección.
Enumeration keys() devuelve un objeto enumeration que permite iterar
sobre el conjunto de claves.
Ejemplo de Hashtable
//Creamos una clase llamada Estudiante
public class Estudiante {
//Atributos
private String id; private String nombre; private int edad;
Estudiante(String id,String nombre,int edad){
this.id = id;
this.nombre = nombre;
this.edad=edad;
}
//Metodos getters
public String getId() {
return id;
}
public String getNombre() {
return nombre;
}
public int getEdad() {
return edad;
}
}
Ejemplo de Hashtable
import java.util.*;
public class EjemploColeccion {
public static void main(String args[]){
//Creando objetos de la clase Estudiante
Estudiante estudiante1=new Estudiante("001","Pedro",35);
Estudiante estudiante2=new Estudiante("002","Maria",24);
Estudiante estudiante3=new Estudiante("003","Luis",28);
Hashtable<String, Estudiante> tablahash = new Hashtable<String,Estudiante>();
tablahash.put(estudiante1.getId(), estudiante1);
tablahash.put(estudiante2.getId(), estudiante2);
tablahash.put(estudiante3.getId(), estudiante3);
System.out.println(tablahash.get("002").getNombre());
System.out.println(tablahash.get("003").getNombre());
}
Se crea la tabla con key de tipo String,
y objetos del tipo Estudiante
Agregamos los objetos a la
tabla hash. Como clave el Id
del Estudiante y el objeto
Estudiante.
Con los métodos getters de Estudiantes se puede
ver al contenido del objeto
Iteración de un Hashtable: Interfaz Enumeration
Como un Hashtable no está basado en índices, no puede ser recorrido
utilizando una sentencia for. Para recorrer (iterar) sobre un Hashtable se
puede hacer uso del objeto enumeration.
Enumeration es un objeto que implementa la interfaz
java.util.Enumeration.
Los métodos de esta interfaz permiten recorrer una colección de objetos
asociada y acceder a ella.
Un objeto Enumeration lo podemos imaginar como una especie de
puntero o referencia, que puede ir apuntando a cada uno de los
elementos de la colección.
Metodos de la Interfaz Enumeration
nextElement() La llamada de este método sobre un objeto Enumeration
provoca que este pase a apuntar al siguiente objeto de la colección.
Inicialmente, un enumeration se encuentra apuntando a la posición que
está antes del primer objeto de la colección, por lo que la primera llamada
a este método devolverá el primer objeto.
hasMoreElements() indica si hay más elementos por recorrer en la
colección. Cuando el objeto enumeration este apuntando al último
elemento, la llamada a este método devolverá false.
Metodos de la Interfaz Enumeration
//Creamos la tabla hash
Hashtable<String, Estudiante> tablahash = new Hashtable<String,Estudiante>();
//Agregamos los objetos a la tabla
tablahash.put(estudiante1.getId(), estudiante1);
tablahash.put(estudiante2.getId(), estudiante2);
tablahash.put(estudiante3.getId(), estudiante3);
Enumeration<Estudiante> enumeration = tablahash.elements();
while (enumeration.hasMoreElements()) {
System.out.println("Estudiantes: "+enumeration.nextElement().getNombre());
}
Apuntamos al siguiente elemento de la tabla y
obtenemos el nombre de cada Estudiante
Se crea una instancia de la clase
Enumeration de tipo Estudiante
Se recorre la tablahash con el
objeto enumeration
Metodos de la Interfaz Enumeration
Si queremos saber cuales son las claves de un HashTable usamos el método
keys().
Enumeration<String> claves = tablahash.keys();
while (claves.hasMoreElements()) {
System.out.println(""+"hashtable claves: " + claves.nextElement());
}
También se puede obtener la enumeración de todas las claves mediante el
uso del método keys().
System.out.println("Claves: " +tablahash.keys());
La clase Vector
La clase Vector, al igual que ArrayList o LinkedList, también implementa
a List, pero de un modo especial. Este modo especial es sincronizado, lo
que permite que se pueda usar en entornos concurrentes (es decir, en
varios procesos que se ejecutan al mismo tiempo y hacen uso posiblemente
de los mismos recursos). Esta además es la principal característica que la
diferencia de otras clases presentadas anteriormente como ArrayList.
Se recomienda que si no es necesario se use ArrayList en vez de Vector.
Por tanto, solo utilizaremos la clase Vector si tenemos previstas
circunstancias especiales como procesos concurrentes.
Un objeto de tipo Vector contiene elementos que pueden ser accedidos por
un índice y puede aumentar o disminuir su tamaño dinámicamente en
tiempo de ejecución.
La clase Vector
Creación de un objeto vector:
Vector variable_vector = new Vector();
Vector<Objeto> variable_vector = new Vector<Objeto>();
Algunos métodos de la clase Vector:
addElement(Objeto) se añade un objeto al vector.
elementAt(int i) Devuelve el elemento en la posición indicada por i.
indexOf(Object elemento) Devuelve el índice de la primera aparición de elemento.
Si el objeto no está en el vector devuelve –1.
size( ) Devuelve el número de elementos en el vector.
La clase Vector
Algunos métodos de la clase Vector:
isEmpty() Devuelve true si el vector está vacío y false si contiene uno o más
elementos.
lastElement() Devuelve el último elemento del vector.
removeAllElements( ) Vacía el vector. Tras ejecutarse este método, el tamaño del
vector es cero.
removeElement(Object) Quita elemento del vector. Si existe en el vector más de una
instancia del objeto especificado, entonces se quita la primera. Devuelve true si se
hizo con éxito y false si el objeto no se encontró.
removeElementAt(int indice) Quita el elemento en la posición indicada por índice.
Ejemplo de la clase Vector
Creamos una clase “Persona”
public class Persona {
public int idPersona;
public String nombre;
public double altura;
public Persona(int idPersona, String nombre, double altura) {
this.idPersona = idPersona;
this.nombre = nombre;
this.altura = altura;
}
@Override
public String toString() {
return "Persona-> ID: "+idPersona+" Nombre: "+nombre+" Altura:
"+altura+"n";
}
}
Se sobrescribe el método toString para poder
mostrar los valores almacenados en los atributos
Ejemplo de la clase Vector
import java.util.Vector;
public class EjemploColeccion {
public static void main(String args[]){
Vector<Persona> vector = new Vector<Persona>();
int i = 1;
while (i<=5) {
vector.add(new Persona(i,"Persona_"+i,i+150));
i++;
}
for (Persona persona : vector) {
System.out.print(persona.toString());
}
}
}
Se crea un Vector del
tipo Persona
Persona-> ID: 1 Nombre: Persona_1 Altura: 151.0
Persona-> ID: 2 Nombre: Persona_2 Altura: 152.0
Persona-> ID: 3 Nombre: Persona_3 Altura: 153.0
Persona-> ID: 4 Nombre: Persona_4 Altura: 154.0
Persona-> ID: 5 Nombre: Persona_5 Altura: 155.0
Bibliografías
Martín, Antonio. Programador Certificado Java 2. Curso Práctico. Editorial
RA-MA. 2da Edición.
Joyanes L., Zahonero I. Programación en Java 6. Algoritmos, programación
orientada a objetos e interfaz gráfica de usuarios. McGRAW-HILL
INTERAMERICANA EDITORES, S.A. DE C.V. 1ra Edición.
Schildt H. Java Manual de referencia. McGRAW-HILL INTERAMERICANA
EDITORES, S.A. DE C.V. 7ma Edición

Más contenido relacionado

La actualidad más candente

Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetoshector_h30
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividadesTerryJoss
 
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAGabriel Suarez
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y ReporteTransformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y ReporteNeoinquisidor
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++EdsonRc
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetosChristian Leon
 

La actualidad más candente (20)

Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
 
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVA
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Modelo de entidad relación extendido
Modelo de entidad relación extendidoModelo de entidad relación extendido
Modelo de entidad relación extendido
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y ReporteTransformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
 
Flujo datos
Flujo datosFlujo datos
Flujo datos
 
Windows forms c# visual basic .net ejercicios
Windows forms c# visual basic .net ejerciciosWindows forms c# visual basic .net ejercicios
Windows forms c# visual basic .net ejercicios
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetos
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
 

Destacado (6)

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
 
Dev c++ en oo
Dev c++ en ooDev c++ en oo
Dev c++ en oo
 
Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015
 
Colecciones en Java
Colecciones en JavaColecciones en Java
Colecciones en Java
 
colecciones en java
colecciones en javacolecciones en java
colecciones en 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
 

Similar a Java colecciones

2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y OperadoresUVM
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en javajent46
 
Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gioRobert Wolf
 
Iteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en JavaIteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en JavaGaby Delgado
 
Jyoc java-cap11 colecciones
Jyoc java-cap11 coleccionesJyoc java-cap11 colecciones
Jyoc java-cap11 coleccionesJyoc X
 
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
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en javaMaîck Ddz
 
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
 
Mapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasMapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasChristian Collaguazo Malla
 
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
 
Poo 4 arraylist
Poo 4 arraylistPoo 4 arraylist
Poo 4 arraylistjlmanmons
 
javadesdecerocolecciones-140914051359-phpapp01.pptx
javadesdecerocolecciones-140914051359-phpapp01.pptxjavadesdecerocolecciones-140914051359-phpapp01.pptx
javadesdecerocolecciones-140914051359-phpapp01.pptxCompusoftnetCiaLtda
 
Poo Java
Poo JavaPoo Java
Poo Javaeccutpl
 

Similar a Java colecciones (20)

2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
 
Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gio
 
Iteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en JavaIteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en Java
 
Jyoc java-cap11 colecciones
Jyoc java-cap11 coleccionesJyoc java-cap11 colecciones
Jyoc java-cap11 colecciones
 
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
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
 
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
 
Array List
Array ListArray List
Array List
 
Arraylist
ArraylistArraylist
Arraylist
 
Mapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasMapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones Parametrizadas
 
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
 
Array listlistas
Array listlistasArray listlistas
Array listlistas
 
Colecciones
ColeccionesColecciones
Colecciones
 
Poo 4 arraylist
Poo 4 arraylistPoo 4 arraylist
Poo 4 arraylist
 
4_colecciones.ppt
4_colecciones.ppt4_colecciones.ppt
4_colecciones.ppt
 
javadesdecerocolecciones-140914051359-phpapp01.pptx
javadesdecerocolecciones-140914051359-phpapp01.pptxjavadesdecerocolecciones-140914051359-phpapp01.pptx
javadesdecerocolecciones-140914051359-phpapp01.pptx
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Leccion 5 Java
Leccion 5 JavaLeccion 5 Java
Leccion 5 Java
 
Pilas y matrices (Stacks y Arrays) - Small Basic
Pilas y matrices (Stacks y Arrays) - Small BasicPilas y matrices (Stacks y Arrays) - Small Basic
Pilas y matrices (Stacks y Arrays) - Small Basic
 

Más de Renny Batista

Diseño adaptativo y responsive
Diseño adaptativo y responsiveDiseño adaptativo y responsive
Diseño adaptativo y responsiveRenny Batista
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Renny Batista
 
Html Tema 4 - Formularios
Html Tema 4 - FormulariosHtml Tema 4 - Formularios
Html Tema 4 - FormulariosRenny Batista
 
Html - Tema 2: Enlaces, Imágenes y Listas
Html - Tema 2: Enlaces, Imágenes y ListasHtml - Tema 2: Enlaces, Imágenes y Listas
Html - Tema 2: Enlaces, Imágenes y ListasRenny Batista
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del softwareRenny Batista
 
Fundamentos de Sistema- >Tema II
Fundamentos de Sistema- >Tema IIFundamentos de Sistema- >Tema II
Fundamentos de Sistema- >Tema IIRenny Batista
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de DatosRenny Batista
 
Introduccion al java script
Introduccion al java scriptIntroduccion al java script
Introduccion al java scriptRenny Batista
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetosRenny Batista
 

Más de Renny Batista (17)

Diseño adaptativo y responsive
Diseño adaptativo y responsiveDiseño adaptativo y responsive
Diseño adaptativo y responsive
 
05 java excepciones
05 java excepciones05 java excepciones
05 java excepciones
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
JQuery-Tema 1
JQuery-Tema 1JQuery-Tema 1
JQuery-Tema 1
 
Css - Tema 2
Css -  Tema 2Css -  Tema 2
Css - Tema 2
 
Css - Tema 1
Css - Tema 1Css - Tema 1
Css - Tema 1
 
Html Tema 4 - Formularios
Html Tema 4 - FormulariosHtml Tema 4 - Formularios
Html Tema 4 - Formularios
 
Html - Tema 3
Html - Tema 3Html - Tema 3
Html - Tema 3
 
Html - Tema 2: Enlaces, Imágenes y Listas
Html - Tema 2: Enlaces, Imágenes y ListasHtml - Tema 2: Enlaces, Imágenes y Listas
Html - Tema 2: Enlaces, Imágenes y Listas
 
Html - Tema 1
Html - Tema 1Html - Tema 1
Html - Tema 1
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
 
Fundamentos de Sistema- >Tema II
Fundamentos de Sistema- >Tema IIFundamentos de Sistema- >Tema II
Fundamentos de Sistema- >Tema II
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de Datos
 
Introduccion al java script
Introduccion al java scriptIntroduccion al java script
Introduccion al java script
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetos
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 

Último

Diplomatura Ultrasonido Reproducción Asistidada
Diplomatura Ultrasonido Reproducción AsistidadaDiplomatura Ultrasonido Reproducción Asistidada
Diplomatura Ultrasonido Reproducción AsistidadaTony Terrones
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
PROGRAMACIÓN ANUAL EPT 1RO 2024 - Perú.docx
PROGRAMACIÓN ANUAL EPT 1RO 2024 - Perú.docxPROGRAMACIÓN ANUAL EPT 1RO 2024 - Perú.docx
PROGRAMACIÓN ANUAL EPT 1RO 2024 - Perú.docxLenin Villanueva
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejormrcrmnrojasgarcia
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁdavidterri38
 
CARTEL DE BIENVENIDA AL ECLIPSE DE SOL A LA CIUDAD DE TORREON. Autor y diseña...
CARTEL DE BIENVENIDA AL ECLIPSE DE SOL A LA CIUDAD DE TORREON. Autor y diseña...CARTEL DE BIENVENIDA AL ECLIPSE DE SOL A LA CIUDAD DE TORREON. Autor y diseña...
CARTEL DE BIENVENIDA AL ECLIPSE DE SOL A LA CIUDAD DE TORREON. Autor y diseña...JAVIER SOLIS NOYOLA
 
'Diseño Curricular Misiones 2022 (2).pdf
'Diseño Curricular Misiones 2022 (2).pdf'Diseño Curricular Misiones 2022 (2).pdf
'Diseño Curricular Misiones 2022 (2).pdfJuana aranda
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxMartaChaparro1
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraJose Sanchez
 
Presentación MF 1445 EVALUACION COMO Y QUE
Presentación MF 1445 EVALUACION COMO Y QUEPresentación MF 1445 EVALUACION COMO Y QUE
Presentación MF 1445 EVALUACION COMO Y QUEJosé Hecht
 
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptxLa-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptxMAURICIO329243
 
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD EDUCATIVO.pdfdeBelnRosales2
 
EL MOVIMIENTO Y LA ENERGÍA EN LOS CUERPOS.pptx
EL MOVIMIENTO Y LA ENERGÍA EN LOS CUERPOS.pptxEL MOVIMIENTO Y LA ENERGÍA EN LOS CUERPOS.pptx
EL MOVIMIENTO Y LA ENERGÍA EN LOS CUERPOS.pptxduquemariact
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Gonella
 
CALCULADORA CIENTIFICA - ANALISIS DE ARTEFACTOS
CALCULADORA CIENTIFICA - ANALISIS DE ARTEFACTOSCALCULADORA CIENTIFICA - ANALISIS DE ARTEFACTOS
CALCULADORA CIENTIFICA - ANALISIS DE ARTEFACTOSdarlingreserved
 

Último (20)

Diplomatura Ultrasonido Reproducción Asistidada
Diplomatura Ultrasonido Reproducción AsistidadaDiplomatura Ultrasonido Reproducción Asistidada
Diplomatura Ultrasonido Reproducción Asistidada
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
PROGRAMACIÓN ANUAL EPT 1RO 2024 - Perú.docx
PROGRAMACIÓN ANUAL EPT 1RO 2024 - Perú.docxPROGRAMACIÓN ANUAL EPT 1RO 2024 - Perú.docx
PROGRAMACIÓN ANUAL EPT 1RO 2024 - Perú.docx
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejor
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
 
CARTEL DE BIENVENIDA AL ECLIPSE DE SOL A LA CIUDAD DE TORREON. Autor y diseña...
CARTEL DE BIENVENIDA AL ECLIPSE DE SOL A LA CIUDAD DE TORREON. Autor y diseña...CARTEL DE BIENVENIDA AL ECLIPSE DE SOL A LA CIUDAD DE TORREON. Autor y diseña...
CARTEL DE BIENVENIDA AL ECLIPSE DE SOL A LA CIUDAD DE TORREON. Autor y diseña...
 
'Diseño Curricular Misiones 2022 (2).pdf
'Diseño Curricular Misiones 2022 (2).pdf'Diseño Curricular Misiones 2022 (2).pdf
'Diseño Curricular Misiones 2022 (2).pdf
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldadura
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
Act#25 TDLab. Eclipse Solar 08/abril/2024
Act#25 TDLab. Eclipse Solar 08/abril/2024Act#25 TDLab. Eclipse Solar 08/abril/2024
Act#25 TDLab. Eclipse Solar 08/abril/2024
 
Presentación MF 1445 EVALUACION COMO Y QUE
Presentación MF 1445 EVALUACION COMO Y QUEPresentación MF 1445 EVALUACION COMO Y QUE
Presentación MF 1445 EVALUACION COMO Y QUE
 
ecosistemas: energia y dinamica (1).pptx
ecosistemas: energia y dinamica (1).pptxecosistemas: energia y dinamica (1).pptx
ecosistemas: energia y dinamica (1).pptx
 
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptxLa-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
 
Mimos _
Mimos                                       _Mimos                                       _
Mimos _
 
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
 
EL MOVIMIENTO Y LA ENERGÍA EN LOS CUERPOS.pptx
EL MOVIMIENTO Y LA ENERGÍA EN LOS CUERPOS.pptxEL MOVIMIENTO Y LA ENERGÍA EN LOS CUERPOS.pptx
EL MOVIMIENTO Y LA ENERGÍA EN LOS CUERPOS.pptx
 
AO TEATRO, COM ANTÓNIO MOTA! _
AO TEATRO, COM ANTÓNIO MOTA!             _AO TEATRO, COM ANTÓNIO MOTA!             _
AO TEATRO, COM ANTÓNIO MOTA! _
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1
 
CALCULADORA CIENTIFICA - ANALISIS DE ARTEFACTOS
CALCULADORA CIENTIFICA - ANALISIS DE ARTEFACTOSCALCULADORA CIENTIFICA - ANALISIS DE ARTEFACTOS
CALCULADORA CIENTIFICA - ANALISIS DE ARTEFACTOS
 

Java colecciones

  • 1. Prof. Renny Batista Programación IIIOctubre, 2015 Colecciones en Java
  • 2. Colecciones Es un objeto que almacena un conjunto de referencias a otros objetos, dicho de otra manera es una especie de arreglo (array) de objetos. Las colecciones son dinámicas, no tienen un tamaño fijo y permiten añadir y eliminar objetos en tiempo de ejecución. Java incluye en el paquete java.util un diverso conjunto de clases para la creación y manejo de las colecciones. Todas ellas proporcionan una serie de métodos para realizar operaciones básicas sobre una colección: Añadir objetos a la colección Eliminar objetos de la colección Obtener un objeto Localizar algún objeto de la colección Iterar a través de la colección
  • 3. Colecciones – La interfaz Collection La interfaz Collection es la interfaz raíz en la jerarquía de colecciones, a partir de la cual se derivan las interfaces Set y List. La interfaz Collection contiene operaciones masivas para agregar, borrar, comparar y retener objetos en una colección. La interfaz Collection proporciona un método llamado iterator para obtener un objeto Iterator. La clase Collections proporciona métodos static para manipular colecciones. Muchos de los métodos son implementaciones de algoritmos polimórficos para buscar, ordenar, etcétera.
  • 4. Colecciones – La interfaz Collection Katy Sierra, Bert Bates - SCJP 6 Study Guide
  • 5. Diagrama de decisión para el uso de colecciones http://www.adictosaltrabajo.com/tutoriales/introduccion-a-colecciones-en-java/
  • 6. Colecciones de tipo genéricos El uso de colecciones basadas en tipos genéricos proporciona un mecanismo que permite notificar al compilador el tipo de objeto que va a ser almacenado en la colección. Cualquier instrucción que intente almacenar en la colección un objeto de un tipo que no sea el especificado provocará un error de compilación. Dado que se conoce el tipo de objeto almacenado en la colección, no será necesario realizar una conversión explícita (casting) durante su recuperación. El tipo especificado durante la utilización de las colecciones genéricas solamente pueden ser de tipo objeto, no siendo posible utilizar tipos básicos (primitivos) de Java.
  • 7. ArrayList Un ArrayList representa una colección basada en índices, en la que cada objeto de la misma tiene asociado un número (índice) según la posición que ocupa dentro de la colección, siendo 0 la posición del primer elemento. ArrayList Clase Persona 0 1 2 n Índices Class Persona{ private String id; private String nombre; private int edad; } 001 Pedro 34 002 María 25 003 Luis 30 Objetos
  • 8. Creación de un ArrayList Para crear un ArrayList utilizamos la expresión: ArrayList <tipo_objeto> variable = new ArrayList <tipo_objeto>(); Ejemplo: //ArrayList de tipo cadena ArrayList<String> arraylist=new ArrayList<String>(); //ArrayList de objetos del tipo Persona ArrayList<Persona> arraylist=new ArrayList<Persona>();
  • 9. Creación de un ArrayList Ejemplo: //Se crea una clase llamada Estudiante public class Estudiante { String id; String nombre; int edad; Estudiante(String id,String nombre,int edad){ this.id = id; this.nombre = nombre; this.edad=edad; } }
  • 10. Creación de un ArrayList - Ejemplo import java.util.*; public class EjemploColeccion { public static void main(String args[]){ Estudiante estudiante1=new Estudiante("001","Pedro",35); Estudiante estudiante2=new Estudiante("002","Maria",24); Estudiante estudiante3=new Estudiante("003","Luis",28); ArrayList<Estudiante> arraylist=new ArrayList<Estudiante>(); arraylist.add(estudiante1); arraylist.add(estudiante2); arraylist.add(estudiante3); Iterator<Estudiante> itr=arraylist.iterator(); while(itr.hasNext()){ Estudiante estudiante=(Estudiante)itr.next(); System.out.println(estudiante.id+"t"+estudiante.nombre+"t"+estudiante.edad); } } } Crea el ArrayList de objetos Estudiante Instanciando objetos de la clase Estudiante Agregamos los objetos al ArrayList (método add) Se crea un objeto del tipo Iterator Recorremos el ArrayList
  • 11. Algunos métodos de la clase ArrayList add(Object objeto) añade un nuevo objeto a la colección. add(int indice, Object objeto) añade un objeto a la colección en la posición especificada por el índice, desplazando el resto de los elementos. get(int indice) devuelve el objeto que ocupa la posición indicada. remove(int indice) elimina de la colección el objeto que ocupa la posición indicada. clear() elimina todos los objetos de la colección. indexOf(Object objeto) localiza en el ArrayList el objeto indicado cómo parámetro, devolviendo su posición. En caso de que el objeto no se encuentre en la colección la invocación al método devolverá -1. size() devuelve el número de elementos almacenados en la colección.
  • 12. Hashtable Un Hashtable representa una colección basada en claves, dónde los objetos almacenados en la misma (valores) no tienen asociado un índice numérico basado en su posición, sino una clave que lo identifica de forma única dentro de la colección. Una clave puede ser cualquier tipo de objeto. Hashtable Clase Persona 001 002 003 Objn Claves Objectos Class Persona{ private String id; private String nombre; private int edad; private char sexo; } Pedro 34 ‘M’ María 25 ‘F’ Luis 30 ‘M’ Valor Objetos
  • 13. Hashtable El uso de colecciones basadas en claves resulta útil en aquellas aplicaciones en las que se requiera realizar búsquedas de objetos a partir de un dato que lo identifica. Por ejemplo, si se va a tratar una colección de objetos de tipo “Persona”, resulta más practico almacenarlo en un hashtable, asociando como clave el valor de atributo “Id” o “Código” del objeto Persona. Creación de un objeto Hashtable: //Declaración simple Hashtable variable_hash = new Hashtable<>(); //Declaración tipos genericos Hashtable<Obj, Obj> variable_hash = new Hashtable<Obj, Obj>(); Tipo de Objeto (Valor) Tipo de Objeto (Clave)
  • 14. Algunos métodos de la clase Hashtable put(Object key, Object valor) añade a la colección el objeto valor, asignándole la clave especificada por key. En caso de existir esa clave en la colección, el objeto que tenía asignado esa clave se sustituye por el nuevo objeto valor, devolviendo el objeto sustituido. containsKey(Object key) indica si la clave especificada existe o no en la colección. get(Object key) devuelve el valor que tiene asociado la clave que se indica en el parámetro. remove(Object key) elimina de la colección el objeto cuya clave se especifique en el parámero. size() devuelve el número de elementos almacenados en la colección. Enumeration keys() devuelve un objeto enumeration que permite iterar sobre el conjunto de claves.
  • 15. Ejemplo de Hashtable //Creamos una clase llamada Estudiante public class Estudiante { //Atributos private String id; private String nombre; private int edad; Estudiante(String id,String nombre,int edad){ this.id = id; this.nombre = nombre; this.edad=edad; } //Metodos getters public String getId() { return id; } public String getNombre() { return nombre; } public int getEdad() { return edad; } }
  • 16. Ejemplo de Hashtable import java.util.*; public class EjemploColeccion { public static void main(String args[]){ //Creando objetos de la clase Estudiante Estudiante estudiante1=new Estudiante("001","Pedro",35); Estudiante estudiante2=new Estudiante("002","Maria",24); Estudiante estudiante3=new Estudiante("003","Luis",28); Hashtable<String, Estudiante> tablahash = new Hashtable<String,Estudiante>(); tablahash.put(estudiante1.getId(), estudiante1); tablahash.put(estudiante2.getId(), estudiante2); tablahash.put(estudiante3.getId(), estudiante3); System.out.println(tablahash.get("002").getNombre()); System.out.println(tablahash.get("003").getNombre()); } Se crea la tabla con key de tipo String, y objetos del tipo Estudiante Agregamos los objetos a la tabla hash. Como clave el Id del Estudiante y el objeto Estudiante. Con los métodos getters de Estudiantes se puede ver al contenido del objeto
  • 17. Iteración de un Hashtable: Interfaz Enumeration Como un Hashtable no está basado en índices, no puede ser recorrido utilizando una sentencia for. Para recorrer (iterar) sobre un Hashtable se puede hacer uso del objeto enumeration. Enumeration es un objeto que implementa la interfaz java.util.Enumeration. Los métodos de esta interfaz permiten recorrer una colección de objetos asociada y acceder a ella. Un objeto Enumeration lo podemos imaginar como una especie de puntero o referencia, que puede ir apuntando a cada uno de los elementos de la colección.
  • 18. Metodos de la Interfaz Enumeration nextElement() La llamada de este método sobre un objeto Enumeration provoca que este pase a apuntar al siguiente objeto de la colección. Inicialmente, un enumeration se encuentra apuntando a la posición que está antes del primer objeto de la colección, por lo que la primera llamada a este método devolverá el primer objeto. hasMoreElements() indica si hay más elementos por recorrer en la colección. Cuando el objeto enumeration este apuntando al último elemento, la llamada a este método devolverá false.
  • 19. Metodos de la Interfaz Enumeration //Creamos la tabla hash Hashtable<String, Estudiante> tablahash = new Hashtable<String,Estudiante>(); //Agregamos los objetos a la tabla tablahash.put(estudiante1.getId(), estudiante1); tablahash.put(estudiante2.getId(), estudiante2); tablahash.put(estudiante3.getId(), estudiante3); Enumeration<Estudiante> enumeration = tablahash.elements(); while (enumeration.hasMoreElements()) { System.out.println("Estudiantes: "+enumeration.nextElement().getNombre()); } Apuntamos al siguiente elemento de la tabla y obtenemos el nombre de cada Estudiante Se crea una instancia de la clase Enumeration de tipo Estudiante Se recorre la tablahash con el objeto enumeration
  • 20. Metodos de la Interfaz Enumeration Si queremos saber cuales son las claves de un HashTable usamos el método keys(). Enumeration<String> claves = tablahash.keys(); while (claves.hasMoreElements()) { System.out.println(""+"hashtable claves: " + claves.nextElement()); } También se puede obtener la enumeración de todas las claves mediante el uso del método keys(). System.out.println("Claves: " +tablahash.keys());
  • 21. La clase Vector La clase Vector, al igual que ArrayList o LinkedList, también implementa a List, pero de un modo especial. Este modo especial es sincronizado, lo que permite que se pueda usar en entornos concurrentes (es decir, en varios procesos que se ejecutan al mismo tiempo y hacen uso posiblemente de los mismos recursos). Esta además es la principal característica que la diferencia de otras clases presentadas anteriormente como ArrayList. Se recomienda que si no es necesario se use ArrayList en vez de Vector. Por tanto, solo utilizaremos la clase Vector si tenemos previstas circunstancias especiales como procesos concurrentes. Un objeto de tipo Vector contiene elementos que pueden ser accedidos por un índice y puede aumentar o disminuir su tamaño dinámicamente en tiempo de ejecución.
  • 22. La clase Vector Creación de un objeto vector: Vector variable_vector = new Vector(); Vector<Objeto> variable_vector = new Vector<Objeto>(); Algunos métodos de la clase Vector: addElement(Objeto) se añade un objeto al vector. elementAt(int i) Devuelve el elemento en la posición indicada por i. indexOf(Object elemento) Devuelve el índice de la primera aparición de elemento. Si el objeto no está en el vector devuelve –1. size( ) Devuelve el número de elementos en el vector.
  • 23. La clase Vector Algunos métodos de la clase Vector: isEmpty() Devuelve true si el vector está vacío y false si contiene uno o más elementos. lastElement() Devuelve el último elemento del vector. removeAllElements( ) Vacía el vector. Tras ejecutarse este método, el tamaño del vector es cero. removeElement(Object) Quita elemento del vector. Si existe en el vector más de una instancia del objeto especificado, entonces se quita la primera. Devuelve true si se hizo con éxito y false si el objeto no se encontró. removeElementAt(int indice) Quita el elemento en la posición indicada por índice.
  • 24. Ejemplo de la clase Vector Creamos una clase “Persona” public class Persona { public int idPersona; public String nombre; public double altura; public Persona(int idPersona, String nombre, double altura) { this.idPersona = idPersona; this.nombre = nombre; this.altura = altura; } @Override public String toString() { return "Persona-> ID: "+idPersona+" Nombre: "+nombre+" Altura: "+altura+"n"; } } Se sobrescribe el método toString para poder mostrar los valores almacenados en los atributos
  • 25. Ejemplo de la clase Vector import java.util.Vector; public class EjemploColeccion { public static void main(String args[]){ Vector<Persona> vector = new Vector<Persona>(); int i = 1; while (i<=5) { vector.add(new Persona(i,"Persona_"+i,i+150)); i++; } for (Persona persona : vector) { System.out.print(persona.toString()); } } } Se crea un Vector del tipo Persona Persona-> ID: 1 Nombre: Persona_1 Altura: 151.0 Persona-> ID: 2 Nombre: Persona_2 Altura: 152.0 Persona-> ID: 3 Nombre: Persona_3 Altura: 153.0 Persona-> ID: 4 Nombre: Persona_4 Altura: 154.0 Persona-> ID: 5 Nombre: Persona_5 Altura: 155.0
  • 26. Bibliografías Martín, Antonio. Programador Certificado Java 2. Curso Práctico. Editorial RA-MA. 2da Edición. Joyanes L., Zahonero I. Programación en Java 6. Algoritmos, programación orientada a objetos e interfaz gráfica de usuarios. McGRAW-HILL INTERAMERICANA EDITORES, S.A. DE C.V. 1ra Edición. Schildt H. Java Manual de referencia. McGRAW-HILL INTERAMERICANA EDITORES, S.A. DE C.V. 7ma Edición