web-dev-qa-db-ja.com

Java:String []をListまたはSetに変換する方法

ArrayListやHashSetなど、String [](配列)をコレクションに変換する方法は?

56
Mark

ここでは、Arrays.asList()がトリックを行います。

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

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

セットに変換するには、次のようにすることができます

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

最も簡単な方法は次のとおりです。

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

便利な Arrays ユーティリティクラスを使用します。あなたもできることに注意してください

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

Collections.addAllは、最短(1行)のレシートを提供します

持っている

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

以下のようにできます

Collections.addAll(set, array); 
8
dax-nb

セットを本当に使いたい場合:

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

出力:

[foo, bar]
2
Reimeus

これは厳密にはこの質問に対する答えではありませんが、役に立つと思います。

配列とコレクションをわざわざ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();
}

Iterableを使用すると、ArrayListまたは同様のフィードを使用でき、変換することなくString...パラメーターを指定して使用できます。

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

とにかく試してみてください:

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);
      }
    }
}
2
Adelmo Pereira

最も簡単な方法は

Arrays.asList(stringArray);
1
Keppil
String[] w = {"a", "b", "c", "d", "e"};  

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