Как преобразовать String [] (Array) в Collection, например ArrayList или HashSet?
Java: как преобразовать String [] в список или установить
Ответ 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);