132 votes

.asSet(...) existe-t-il dans une API ?

Je cherche un moyen très simple de créer un ensemble.

Arrays.asList("a", "b" ...) crée un List<String>

Existe-t-il quelque chose de similaire pour Set ?

110voto

Mr. Anderson Points 11

Maintenant, avec Java 8, vous pouvez le faire sans avoir besoin d'un cadre tiers :

Set<String> set = Stream.of("a","b","c").collect(Collectors.toSet());

Ver Collectionneurs .

Profitez-en !

68voto

Michael Schmeißer Points 1937

Utilisation de Goyave C'est aussi simple que cela :

Set<String> mySet = ImmutableSet.<String> of("a", "b");

Ou pour un ensemble mutable :

Set<String> mySet = Sets.newHashSet("a", "b")

Pour d'autres types de données, voir le Guide de l'utilisateur de Guava

59voto

Dev Blanked Points 1579

Vous pourriez utiliser

new HashSet<String>(Arrays.asList("a","b"));

26voto

Samuel Edwin Ward Points 3192

Pour les cas particuliers des ensembles ayant zéro ou un membre, vous pouvez utiliser :

java.util.Collections.EMPTY_SET

et :

java.util.Collections.singleton("A")

24voto

Holly Cummins Points 3149

Dans Java 9, une fonction similaire a été ajoutée via les méthodes d'usine :

Set<String> oneLinerSet = Set.of("a", "b", ...);

(Il existe des équivalents pour List également).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X