web-dev-qa-db-ja.com

ArrayList <String>からCharSequence []へ

CharSequence[]からArrayList<String>を作成する最も簡単な方法は何ですか?

確かに、すべてのArrayListアイテムを反復処理してCharSequence配列にコピーできますが、より良い/より速い方法がありますか?

64
Laimoncijus

これには List#toArray(T[]) を使用できます。

CharSequence[] cs = list.toArray(new CharSequence[list.size()]);

ここに小さなデモがあります:

List<String> list = Arrays.asList("foo", "bar", "waa");
CharSequence[] cs = list.toArray(new CharSequence[list.size()]);
System.out.println(Arrays.toString(cs)); // [foo, bar, waa]
232
BalusC

タイプStringが既にCharSequenceを実装していることを考えると、この変換はリストに自身を新しい配列にコピーするように要求するのと同じくらい簡単です。単にStringインスタンスへの参照をコピーしています:

final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);
13
seh