Saltar al contenido

HashMap: una clave, múltiples valores

Solución:

Existen bibliotecas para hacer esto, pero la forma más simple de Java es crear un Map de List como esto:

Map<Object,ArrayList<Object>> multiMap = new HashMap<>();

Parece que estás buscando un multimapa. La guayaba tiene varios Multimap implementaciones, generalmente creadas a través del Multimaps clase.

Sugeriría que usar esa implementación probablemente sea más simple que implementar la suya propia, averiguar cómo debería verse la API, verificar cuidadosamente si hay una lista existente al agregar un valor, etc. Si su situación tiene una aversión particular a las bibliotecas de terceros, puede valer la pena hacerlo, pero por lo demás, Guava es una biblioteca fabulosa que probablemente también te ayudará con otro código 🙂

Por ejemplo:

Map<Object,Pair<Integer,String>> multiMap = new HashMap<Object,Pair<Integer,String>>();

donde el Pair es una clase paramétrica

public class Pair<A, B> {
    A first = null;
    B second = null;

    Pair(A first, B second) {
        this.first = first;
        this.second = second;
    }

    public A getFirst() {
        return first;
    }

    public void setFirst(A first) {
        this.first = first;
    }

    public B getSecond() {
        return second;
    }

    public void setSecond(B second) {
        this.second = second;
    }

}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *