から を作る最も簡単な方法は何CharSequence[]
ですかArrayList<String>
?
確かに、すべてのArrayList
アイテムを反復処理して配列にコピーできますCharSequence
が、より良い/より高速な方法があるでしょうか?
から を作る最も簡単な方法は何CharSequence[]
ですかArrayList<String>
?
確かに、すべてのArrayList
アイテムを反復処理して配列にコピーできますCharSequence
が、より良い/より高速な方法があるでしょうか?
これに使えます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]
タイプString
がすでに実装されているCharSequence
場合、この変換は、リストにそれ自体を新しい配列にコピーするように要求するのと同じくらい簡単です。これは、基になる文字データを実際にはコピーしません。String
周りのインスタンスへの参照をコピーしているだけです:
final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);