2012-08-16 12 views

Odpowiedz

81

Arrays.asList () zrobiłoby to tutaj.

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

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

Do konwersji ustawiona, można to zrobić jak poniżej

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

Najłatwiej byłoby:

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

pomocą wygodnego Arrays klasę użytkową. Zauważ, że można nawet zrobić

List<String> strs = Arrays.asList("a", "b", "c"); 
2
java.util.Arrays.asList(new String[]{"a", "b"}) 
1

Najprostszym sposobem jest poprzez

Arrays.asList(stringArray); 
2

Jest to stary kod, tak, spróbuj go:

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); 
     } 
    } 
} 
0
String[] w = {"a", "b", "c", "d", "e"}; 

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

Jeśli naprawdę chcesz użyć zestawu:

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

wyjściowa:

[foo, bar] 
7

Collections.addAll zapewnia najkrótszą (jedna linia) otrzymanie

Having

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

Można zrobić jak poniżej

Collections.addAll(set, array); 
1

Chociaż nie jest to ściśle odpowiedź na to pytanie myślę jest przydatne.

Tablice i zbiory mogą być przekształcane w Iterable, co może zapobiec konieczności wykonywania konwersji.

Na przykład napisałem ten przyłączyć lists/tablice rzeczy do łańcucha z separatorem

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

Korzystanie oznacza iterable można albo pasz w ArrayList lub podobnego aswell jak go używać z parametrem String... bez Konieczność konwersji.

Powiązane problemy