ArrayListクラス
配列をArrayListに変換する
ArrayListを配列に変換します。
T[] array;
ArrayList<T> arrayList
= new ArrayList<T>(Arrays.asList(array));
配列をArrayListに変換するには、
2段階の手順で行う。
目次
1.配列をArrayListに変換する手順
配列をArrayListに変換するには、
- Arraysクラスの asListメソッドを使用して、Listに変換します。
- 引数にListを与えて ArrayListのインスタンスを生成します。
先ずは Step1 だ。
Arraysクラスを使う
OK。
Step1: 配列をListにします。
Step1 で Listを受け取ったら、
これを ArrayListに変換する。
ふむふむ。
Step2: Listを ArrayListにします。
Step1 と Step2 を一文で行う例も
紹介しておこう。
Step1 + Step2
いろいろ出てきたので
すこし補足しよう。
ヤバいわ...
大丈夫かしら。
2. Arraysクラス
java.util.Arrays
class Arrays
配列を操作するためのクラスです。
Arraysクラスは、すべてのメソッドが static で、引数に操作したい配列を与えて使用します。
配列にはメソッドがないので、Arraysクラスが便利です。
今回は、asListメソッドを使用します。
asListメソッドの引数は配列で、戻り値は List型です。
Arraysクラスの詳細はまたの機会に。
3. Listインターフェース
java.util.List
interface List<E>
めんどくさかったら
適当にスルーしていいぞ。
Listはインターフェースです。
ArrayListクラスは、Listを実装したクラスです。
Arrays.asListメソッドの戻り値が List型なので、一度 List型の変数で受ける必要があります。
ArrayListクラスのコンストラクタは、引数に List(厳密にはCollection)インターフェースを実装したクラスのインスタンスを与えると、
要素を引き継いだ ArrayListのインスタンスを生成します。
ArrayListクラスの他にも、Listインターフェースを実装したクラスがたくさんあります。
4. サンプルコード
実際に使うと
こんな感じだ。
//Sample10_01.java
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
class Sample10_01{
public static void main(String[] args){
String[] array = {
"赤井 持国",
"百瀬 日向",
"青木 柏手",
"緑川 出雲"
};
//配列 array の表示
System.out.println("\n** 配列 **");
for(int i=0; i<array.length; i++){
System.out.println(array[i]);
}
//List に変換
List<String> list = Arrays.asList(array);
//ArrayListクラス に変換
ArrayList<String> arrayList = new ArrayList<String>(list);
//ArrayListクラス arrayList の表示
System.out.println("\n** arrayList1 **");
for(int i=0; i<arrayList.size(); i++){
System.out.println(list.get(i));
}
//ArrayListとしての動作確認
arrayList.add(2, "キレンジャー");
//ArrayListクラス arrayList の表示2
System.out.println("\n** arrayList2 **");
for(int i=0; i<arrayList.size(); i++){
System.out.println(arrayList.get(i));
}
}
}
コマンドライン
>cd ws
ws>javac -encoding UTF-8 Sample10_01.java
ws>java Sample10_01
** 配列 **
赤井 持国
百瀬 日向
青木 柏手
緑川 出雲
** arrayList1 **
赤井 持国
百瀬 日向
青木 柏手
緑川 出雲
** arrayList2 **
赤井 持国
百瀬 日向
キレンジャー
青木 柏手
緑川 出雲
addメソッドで要素を追加出来ていますね。
配列から ArrayList に変換できたことが分かります。
ちょっ!
なに混ぜてるんスか
油断も隙もない!!
やはりキレンジャーは
不滅なのだ!!
お疲れ様でした。