Подтвердить что ты не робот

Java: как преобразовать String [] в список или установить

Как преобразовать String [] (Array) в Collection, например ArrayList или HashSet?

4b9b3361

Ответ 1

Arrays.asList() будет делать трюк здесь.

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

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

Для преобразования в Set вы можете сделать, как показано ниже

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

Ответ 2

Самый простой способ:

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

с помощью удобного Arrays. Обратите внимание, что вы даже можете сделать

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

Ответ 3

Collections.addAll предоставляет самую короткую (однострочную) квитанцию ​​

Имея

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

Вы можете сделать, как показано ниже

Collections.addAll(set, array); 

Ответ 4

java.util.Arrays.asList(new String[]{"a", "b"})

Ответ 5

Это старый код, во всяком случае, попробуйте:

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);
      }
    }
}

Ответ 6

Если вы действительно хотите использовать набор:

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

выход:

[foo, bar]

Ответ 7

Самый простой способ - через

Arrays.asList(stringArray);

Ответ 8

Хотя это не является строго ответом на этот вопрос, я считаю это полезным.

Массивы и коллекции могут быть преобразованы в Iterable, что может избежать необходимости выполнения жесткого преобразования.

Например, я написал это для объединения списков/массивов материала в строку с разделителем

public static <T> String join(Iterable<T> collection, String delimiter) {
    Iterator<T> iterator = collection.iterator();
    if (!iterator.hasNext())
        return "";

    StringBuilder builder = new StringBuilder();

    T thisVal = iterator.next();
    builder.append(thisVal == null? "": thisVal.toString());

    while (iterator.hasNext()) {
        thisVal = iterator.next();
        builder.append(delimiter);
        builder.append(thisVal == null? "": thisVal.toString());
    }

    return builder.toString();
}

Использование итерации означает, что вы можете либо подать в ArrayList, либо аналогично, а также использовать его с параметром String... без необходимости конвертировать.

Ответ 9

String[] w = {"a", "b", "c", "d", "e"};  

List<String> wL = Arrays.asList(w);