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