java - una - ¿Cómo eliminar duplicados en los valores de MultiMap de Guayaba?
eliminar valores repetidos lista java (3)
Hay muchas maneras de hacer esto. Lo más simple sería usar un SetMultimap
.
Sin embargo, una solución JDK única con su ejemplo dado sería simplemente usar un Map<String, Set<String>>
, que tendría una clave única para un Set
de valores únicos.
Map<String, Set<String>> map = new HashMap<String, Set<String>>();
La ventaja de usar eso es que no tiene que traer estructuras de datos de bibliotecas externas, está utilizando estrictamente las bibliotecas centrales de java.
Código:
Multimap<String, String> myMultimap = ArrayListMultimap.create();
myMultimap.put("12345", "qwer");
myMultimap.put("12345", "abcd");
myMultimap.put("12345", "qwer");
System.out.println(myMultimap);
Resultado:
{12345=[qwer, abcd, qwer]}
¿Es posible eliminar "qwer" duplicado? Gracias.
Un ListMultimap
como ArrayListMultimap
permite pares de clave-valor duplicados. Pruebe una implementación de SetMultimap
como HashMultimap
o TreeMultimap
.
Utilice una de las implementaciones de SetMultimap
, por ejemplo, HashMultimap
:
SetMultimap<String, String> myMultimap = HashMultimap.create();
myMultimap.put("12345", "qwer");
myMultimap.put("12345", "abcd");
myMultimap.put("12345", "qwer");
System.out.println(myMultimap); // {12345=[abcd, qwer]}