String[] (Array) を ArrayList や HashSet などの Collection に変換する方法は?
202224 次
9 に答える
161
ここでは 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));
于 2012-08-16T12:02:02.627 に答える
11
最も簡単な方法は次のとおりです。
String[] myArray = ...;
List<String> strs = Arrays.asList(myArray);
便利なArraysユーティリティ クラスを使用します。あなたもできることに注意してください
List<String> strs = Arrays.asList("a", "b", "c");
于 2012-08-16T12:00:04.233 に答える
3
本当にセットを使用したい場合:
String[] strArray = {"foo", "foo", "bar"};
Set<String> mySet = new HashSet<String>(Arrays.asList(strArray));
System.out.println(mySet);
出力:
[foo, bar]
于 2012-08-16T12:04:54.097 に答える
3
とにかく、これは古いコードです。試してみてください。
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);
}
}
}
于 2012-08-16T12:01:43.577 に答える
3
これは厳密にはこの質問に対する答えではありませんが、役に立つと思います。
配列とコレクションは 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...
変換せずにパラメーターとともに使用することもできることを意味します。
于 2014-09-11T13:29:48.193 に答える
2
java.util.Arrays.asList(new String[]{"a", "b"})
于 2012-08-16T12:00:08.883 に答える
1
最も簡単な方法は
Arrays.asList(stringArray);
于 2012-08-16T12:00:13.547 に答える
0
String[] w = {"a", "b", "c", "d", "e"};
List<String> wL = Arrays.asList(w);
于 2012-08-16T12:02:57.633 に答える