0% encontró este documento útil (0 votos)
28 vistas

Java

Este documento describe las principales colecciones y estructuras de datos en Java, incluyendo iteradores, conjuntos, listas, mapas y sus métodos asociados. Explica cómo iterar sobre colecciones, agregar y eliminar elementos, y recuperar información. También cubre temas como pasar colecciones a arrays y la implementación correcta de hashCode() y equals() para objetos personalizados.

Cargado por

RobertoGarcia
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
28 vistas

Java

Este documento describe las principales colecciones y estructuras de datos en Java, incluyendo iteradores, conjuntos, listas, mapas y sus métodos asociados. Explica cómo iterar sobre colecciones, agregar y eliminar elementos, y recuperar información. También cubre temas como pasar colecciones a arrays y la implementación correcta de hashCode() y equals() para objetos personalizados.

Cargado por

RobertoGarcia
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

Programación II

Colecciones
Iterator
Iterator <E> i = lista.iterator();
boolean i.hasNext(); Devuelve true si hay más elementos, si no false
Devuelve el siguiente objeto de la colección,
E i.next();
si no hay más elementos NoSuchElementException
void i.remove(); Elimina el elemento actual
Set
No puede contener elementos repetidos

int .size(); Devuelve el tamaño del conjunto


boolean .isEmpty(); True si esta vacío
boolean .contains(Object o); True si contiene el elemento
boolean .add (E element); Añade el elemento al conjunto
Devuelve true si la colección no contiene el elemento
boolean .remove(Object o); Elimina el elemento del conjunto
Devuelve true si la colección contiene el objeto

- HashSet
No garantiza el orden de los elementos
HashSet<”Tipo”> nombreSet = new HashSet<”Tipo”>();

- Linked HashSet
Ordenado según el orden de inserción
LinkedHashSet<”Tipo”> nombreSet = new LinkedHashSet<”Tipo”>();

- TreeSet
Ordenados según el criterio que elijamos.
TreeSet<”Tipo”> nombreSet = new TreeSet<”Tipo”>();

Listas
Colección de objetos ordenada por su posición, puede haber elementos repetidos.

E .get (int index); Devuelve el objeto de la posición indicada


Remplaza el elemento en la posición indicada con
E .set (int index, E element); el elemento especificado.
Devuelve el elemento que estaba guardado
Añade el elemento a la posición indicada
void .add (int index, E element);
desplazando todos los demás una posición
Añade el elemento al final de la lista
boolean .add (E element);
Devuelve true si el elemento se ha añadido
Elimina el elemento de la posición indicada
E .remove (int index);
Devuelve el elemento borrado
Elimina el elemento indicado
boolean .remove (E element);
Devuelve true si la lista contiene el objeto
Devuelve la posición del primer objeto
int .indexOf(Object o);
-1 si no contiene el elemento
Devuelve la posición del ultimo objeto
int .lastIndexOf(Object o);
-1 si no contiene el elemento
int .size(); Devuelve el número de elementos de la lista
boolean .isEmpty(); True si esta vacía
boolean .contains(Object o); True si contiene el objeto

1
Programación II
- ListIterator
Tienen sus propios iteradores más avanzados:
ListIterator<E> i = nombreLista.listIterator();

boolean i.hasNext(); Devuelve true si hay más elementos, si no false


E i.next(); Devuelve el siguiente objeto de la lista y aumenta el cursor
si no hay más elementos NoSuchElementException
boolean i.hasPrevious(); Devuelve true si hay más elementos previos, si no false
E i.previous(); Devuelve el objeto previo de la lista y retrasa el cursor
si no hay más elementos NoSuchElementException
int i.nextIndex(); Devuelve el índice del siguiente elemento
int i.previousIndex(); Devuelve el índice del elemento previo
void i.remove(); Elimina el elemento actual

- ArrayList
Se accede a los elementos de forma aleatorio
ArrayList <E> nombreLista = new ArrayList <E> ();

- LinkedList
Se mantiene el orden de inserción de los elementos al recorrer la lista (next y previous)
LinkedList <E> nombreLista = new LinkedList <E> ();

Operaciones específicas de LinkedList:

E .getFirst() Devuelve el primer elemento


E .getLast(); Devuelve el último elemento
E .removeFirst(); Elimina el primer elemento
Devuelve el primer elemento
E .remove Last(); Elimina el primer elemento
Devuelve el primer elemento
void .addFirst(E o); Añade el elemento al principio
void .addLast(E o); Añade el elemento al final
Pasar List a Array (toArray)
nombreArray = nombreLista.toArray(nombreArray);
//Guarda cada elemento de la lista en una de las posiciones del array creado
Mapas
Un Map es un objeto que permite "asociar" una clave (K) y un valor (V).

Un mapa no puede contener objetos con clave duplicada.

int .size(); Devuelve el número de elementos


boolean .isEmpty(); Devuelve true si esta vacio
Value .put(K key, V value); Añade un Value con una Key asociada
Value .get(K key); Devuelve el Value de la Key
Devuelve 'null' si la Key no existe
void .clear(); Vacia el mapa
Value .remove(); Elimina el objeto asociado a la Key
Devuelve el Value asociado a la Key o “null”
boolean .containsKey(K key); Devuelve true si contiene la Key
boolean .containsValue(V value); Devuelve true si contiene el Value

2
Programación II
- HashMap
Los elementos no tienen orden específico. No aceptan claves duplicadas ni valores nulos.
Map <K,V> nombreMap = new HashMap <K,V>();

- LinkedHashMap
Inserta en el Map los elementos en el orden en el que se van insertando
Map <K,V> nombreMap = new LinkedHashMap <K,V>();

- TreeMap
El Mapa lo ordena según la Key. (si la clave son “int”, los ordena de menos a mayor.)
Map <K,V> nombreMap = new TreeMap <K,V>();

Pasar de Map a Collection:


Set public Set<K> keySet();
Collection public Collection<V> values();
Conjunto con los pares clave-valor public Set<Map.Entry<K,V> > entrySet();
Pasar Values de un Map a Array (toArray):
“Tipo” [] arrayEfectos = nombreMap.values().toArray(new “tipo”[0]);
//Guarda cada Value del mapa en un array de tamaño [0] que va aumentando

Extras
@Override
Cuando Java compara en estructuras hash primero invoca a hashcode y luego a equals.

En el caso en el que ambos objetos compartan el mismo hashcode Java invocará al método
equals y revisará a detalle si se cumple la igualdad.

- hashCode
Si los hashcode de cada objeto son diferentes no seguirá comparando.
public int hashCode () //El hashCode tiene que ser un identificador único
{
int hash;
hash = “lo que queramos que sea el hash”
return hash;
}
- equals
Método que se usa para comparar objetos
public boolean equals (Object e) //Compara el objeto que lo invoca con
el que se pasa como parámetro
{
“Tipo” comparar = (“Tipo”) e; //Cast para indicar que el objeto es
del tipo que le indicamos

if ((e != null) && (e instanceof “Tipo”))


{
if (//variables de los objetos a comparar)
return true;
else
return false;
}
else
return false;
}

También podría gustarte