82 votes

Java : Comment convertir String[] en List ou Set

Comment convertir String[] (Array) en Collection, comme ArrayList ou HashSet ?

161voto

smhnkmr Points 2085

Arrays.asList() ferait l'affaire ici.

String[] words = {"ace", "boom", "crew", "dog", "eon"};   

List<String> wordList = Arrays.asList(words);  

Pour convertir en Set, vous pouvez procéder comme suit

Set<T> mySet = new HashSet<T>(Arrays.asList(words));

11voto

Dirk Points 17809

La méthode la plus simple est la suivante :

String[] myArray = ...;
List<String> strs = Arrays.asList(myArray);

à l'aide de l'outil pratique Tableaux classe d'utilité. Notez que vous pouvez même faire

List<String> strs = Arrays.asList("a", "b", "c");

9voto

dax-nb Points 99

Collections.addAll fournit la réception la plus courte (une ligne)

Avoir

String[] array = {"foo", "bar", "baz"}; 
Set<String> set = new HashSet<>();

Vous pouvez procéder comme suit

Collections.addAll(set, array);

3voto

Adelmo Pereira Points 43

C'est un vieux code, mais essayez-le :

import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class StringArrayTest
{
   public static void main(String[] args)
   {
      String[] words = {"word1", "word2", "word3", "word4", "word5"};

      List<String> wordList = Arrays.asList(words);

      for (String e : wordList)
      {
         System.out.println(e);
      }
    }
}

3voto

Reimeus Points 93429

Si vous voulez vraiment utiliser un set :

String[] strArray = {"foo", "foo", "bar"};  
Set<String> mySet = new HashSet<String>(Arrays.asList(strArray));
System.out.println(mySet);

de la production :

[foo, bar]

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