Está en la página 1de 5

Colecciones: la clase

Una colección en Java es una estructura de datos que permite almacenar muchos
valores del mismo tipo; por tanto, conceptualmente es prácticamente igual que un
array
.Según el uso y según si se permiten o no repeticiones, Java dispone de un amplio
catálogo de colecciones:
ArrayList HashSet etc
Ordenación de un ArrayList
Los elementos de una lista se pueden ordenar con el método sort
El formato es elsiguiente:
Collections. sort(lista);
Observa que sort es un método de clase que está definido en Collections
Para poder utilizar este método es necesario incluir import java.util.Collections
Para poder ordenar objetos y dado que un objeto tendrá varias propiedades, tenemos
que redefinir la clase
public class C l a s e i m p l e m e n t s Comparable<Clase>

public int compareTo(Clase g){


return( this.propiedad).compareTo(g.getPropiedad());}

Diccionarios

Hashmap

¿Qué es Hashmap en Java?


Un HashMap básicamente designa claves únicas para los valores
correspondientes y recuperables en cualquier punto dado.
Esta estructura de datos también es conocida en otros lenguajes de programación como
"Diccionarios"
// Declaración de un Map (un HashMap) con clave "Integer" y Valor
"String".

Las claves pueden ser de cualquier tipo de objetos, aunque los más
utilizados como clave son los objetos predefinidos de Java como
String, Integer, Double .

los Map no permiten datos atómicos, usar envolventes


Map<Integer, String> nombreMap = new HashMap<Integer, String>();
nombreMap.size(); // Devuelve el numero de elementos del Map
nombreMap.isEmpty(); // Devuelve true si no hay elementos en el
Map y false si si los hay
nombreMap.put(K clave, V valor); // Añade un elemento al Map
nombreMap.get(K clave); // Devuelve el objeto que se pasa como
clave o 'null' si la clave no existe
nombreMap.clear(); // Borra todos los componentes del Map
nombreMap.remove(K clave); // Borra el par clave/valor de la clave
que se le pasa como parámetro
nombreMap.containsKey(K clave); // Devuelve true si en el map hay
una clave que coincide con K
nombreMap.containsValue(V valor); // Devuelve true si en el map
hay un Valor que coincide con V
nombreMap.values(); // Devuelve una "Collection" con los valores del
Map
Los métodos más usados y su función son:

Método Función

Devuelve el número de elementos


nombreMap.size()
del Map.

Devuelve true si no hay


nombreMap.isEmpty() elementos en el Map y false si sí
los hay.

nombreMap.put(K clave, V
Añade un elemento al Map.
valor)

Devuelve el valor de la clave que


nombreMap.get(K clave) se le pasa como parámetro o 'null'
si la clave no existe.

Borra todos los componentes del


nombreMap.clear();
Map.

Borra el par clave/valor de la


nombreMap.remove(K clave) clave que se le pasa como
parámetro.

nombreMap.containsKey(K Devuelve true si en el map hay


clave) una clave que coincide con K.

nombreMap.containsValue(V Devuelve true si en el map hay un


valor) Valor que coincide con V.

Devuelve una "Collection" con


nombreMap.values()
los valores del Map.
Características de Java Hashmap
a) Los valores se pueden almacenar en un mapa formando un par clave-
valor. El valor se puede recuperar usando la clave pasándola al método
correcto.
b) Si no existe ningún elemento en el Mapa, arrojará una ‘
NoSuchElementException’ .
c) HashMap almacena solo referencias de objetos . Por eso, es
imposible utilizar tipos de datos primitivos como double o int. Utilice la
clase wrapper (como Integer o Double) en su lugar.

Uso de HashMaps en programas Java:


Las siguientes son las dos formas de declarar un mapa hash:

HashMap <String, Object> map = new HashMap <String, Object> ();


HashMap x = new HashMap ();

Métodos importantes de Hashmap


•get (Object KEY) – Esto devolverá el valor asociado con una clave
especificada en este hashmap de Java.
•put (Object KEY, String VALUE) – Este método almacena el valor
especificado y lo asocia con la clave especificada en este mapa.
Ejemplo
package colecciones;

import java.util.HashMap;
import java.util.Map;
class pruebaMap {
public static void main(String[] args) {
HashMap <String, String> objMap = new HashMap <String, String> ();

objMap.put("Nombre", "Suzuki");
objMap.put("Potencia", "220");
objMap.put("Tipo", "2-wheeler");
objMap.put("Precio", "85000");
System.out.println("Elementos del mapa:");
System.out.println(objMap);
}
}
otro ejemplo
import java.util.*;
clase pública HashMapExample {
public static void main(String args[]) {

// crear y poblar el hash map

map.put(1, "Java");
map.put(2, "Python");
map.put(3, "PHP");
map.put(4, "SQL");
map.put(5, "C ++");
System.out.println("mapa:" + mapa);

// Eliminar el valor de la clave 5


map.remove(5);
System.out.println(" después de Eliminar:" + mapa);
}
}

Permite hacer algunas consultas al propio Hash Map para conocerlo


mejor
encontrar si se le ha asignado una clave en particular?
usar el método containsKey (Object KEY) , devolverá un valor booleano si
tengo un valor para la clave dada.
encuentrar todas las claves disponibles que están presentes en el Mapa
con método keySet () que devolverá todas las claves en el mapa.
System.out.println (objMap.keySet ());
si necesita todos los valores solamente, tengo un método de values ().
System.out.println (objMap.values ());
eliminar solo una determinada clave del mapa.
remove (Object KEY) que eliminará solo ese par clave-valor en particular.
verificar si realmente contiene algunos pares clave-valor?

Recorrido de un map :
for (Entry<String, String> id :objMap.entrySet()) {
System.out.println(id.getKey()+"-> "+id.getValue()+" fin");
System.out.println();
}
Para que funcione el Entry hay que poner import java.util.Map.Entry;

También podría gustarte