2016-03-07 13 views

risposta

22

È possibile convertirlo in un set. Un set è un elenco con valori unici.

Immutable.List.of("green", "blue","green","black", "blue").toSet() 

Se ne avete bisogno, come la lista di nuovo solo riconvertirlo poi:

Immutable.List.of("green", "blue","green","black", "blue").toSet().toList() 

Aggiornamento:

esiste una possibilità più breve per ottenere valori unici:

Immutable.List.of("green", "blue","green","black", "blue").distinct 
+0

grazie! funziona benissimo! – ThorbenA

+2

Utilizzando Immutable 3.7.3 la soluzione '.distinct' non sembra funzionare (non è definita). '.toSet(). toList()' fa il lavoro! – manosim

12

Se si dispone di un tipo più complesso, è anche possibile utilizzare groupBy per fornire il tuo selezionatore da confrontare. Quanto segue rimuoverà i duplicati sulla proprietà .name:

var distinctColors = duplicateColors.groupBy(x => x.name).map(x => x.first()).toList(); 
+0

Molto utile, grazie! – slezica

Problemi correlati