Java講座

知っていると便利な章
4.10. コレクションと配列のやりとり
『目的』

コレクションと配列間のやりとりを簡潔に行いましょう。

『Before』

配列をCollectionに変換します。
リストを生成して、配列の要素をリストに繰り返し詰めます。
String[] strings = new String[100];

/* 配列 -> Collection */
List list = new ArrayList();

for (int i = 0; i < strings.length; i++) {
    list.add(strings[i]);
}
もっと簡単な方法があります。

Collectionを配列に変換します。
配列を生成して、リストの要素を配列に繰り返し詰めます。
Collection values = new ArrayList();
values.add("1");
values.add("2");
int n = values.size();

/* Collection -> 配列 */
String[] strings = new String[n];

for (int i = 0; i < strings.length; i++) {
    strings[i] = (String) values.get(i);
}
これも、もっと簡単な方法があります。

『After』

配列をCollectionに変換します。
String[] strings = new String[100];

/* 配列 -> Collection */
List list = Arrays.asList(strings);
forループは必要ありません。また、リストへの変更はそのまま配列に反映されます。

Collectionを配列に変換します。
Collection values = new ArrayList();
values.add("1");
values.add("2");

/* Collection -> 配列 */
String[] strings = (String[]) values.toArray(new String[values.size()]);
forループは必要ありません。

『まとめ』

Arrays.asListとCollection.toArrayの組み合わせが 配列ベースのAPIとコレクションベースのAPIの橋渡しをします。 ArraysやCollectionには便利なメソッドが色々用意されているので積極的に使いましょう。
前のページ   次のページ

当ページ・当社へのご意見やご感想があればお手数ですが「お問い合わせ」までお願いいたします。
当社への就職をお考えの方は「採用情報ページ」までお願いいたします。
C言語を学びたい方は「C言語講座」もどうぞ。