valores una sean repetidos que para numeros los lista iguales eliminar elementos duplicados contar como buscar arreglo algoritmo java collections guava multimap

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]}