208 votes

La façon la plus concise de convertir un Set<T> en une List<T>.

Par exemple, je suis en train de faire ceci :

Set<String> setOfTopicAuthors = ....

List<String> list = Arrays.asList( 
    setOfTopicAuthors.toArray( new String[0] ) );

Pouvez-vous le battre ?

2 votes

Utilice java.util.Collection : O(0)

0 votes

@Carl, je dois soumettre le Set à une interface tierce qui requiert une Liste. @Tim J'aimerais pouvoir changer l'interface de la tierce partie pour utiliser Collection.

1 votes

Je vois ; sauf contraintes étranges, je suivrais la réponse de Roger. Cependant, à moins que vous n'utilisiez à nouveau la liste, je ne l'assignerais à rien (par exemple, utilisez foo.api(new ArrayList<String>(listOfTopicAuthors)) au lieu de foo.api(list)).

0voto

jp093121 Points 492

Je ne suis pas vraiment sûr de ce que vous faites exactement via le contexte de votre code mais...

pourquoi faire le listOfTopicAuthors variable du tout ?

List<String> list = Arrays.asList((....).toArray( new String[0] ) );

le "...." représente la manière dont votre jeu est entré en jeu, qu'il soit nouveau ou qu'il provienne d'un autre endroit.

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