「Listと配列の違いが分からない!」
「Listってどうやって使うの?」
という方のために、Listについて解説します。
今回は特によく使われるArrayListについて解説します。
Listは、配列に似ていますが、配列よりも汎用性が高く、使いやすいです。
配列がよく分からない方はこちらの記事を参考にしてください。
開発においても、Listはよく使うので、ぜひ覚えておきましょう。
配列との違い
Listは配列とよく似ていますが、大きな違いは、要素数を自由に増減できる点です。
配列では、宣言時に要素数を指定し、それ以降は要素数を増やすことも減らすこともできません。
しかし、Listでは宣言後も自由に要素数を増やしたり、減らしたりすることができます。
java.utilのインポート
ListはJavaが用意してくれているインタフェースです。
よく分からないと思いますが、要はJavaで元々用意された便利ツールです。
その便利ツールListはインポートすることで使用できるようになります。
Listのインポートの方法は以下の通りです。
import java.util.List;
import java.util.ArrayList;
今回は、特にArrayListについて解説していくので、ArrayListもインポートしておきます。
インポート文はmain文や、クラスの外に記述してください。
/*
ここに記述する
import java.util.List;
import java.util.ArrayList;
*/
public class Sample{
public static void main(String args[]){
}
}
ArrayListの宣言方法
ArrayListの宣言方法は主に以下の3つです。
①List<データ型> リスト名 = new ArrayList<データ型>();
②List<データ型> リスト名 = new ArrayList<データ型>( 要素数 );
③List<データ型> リスト名 = new ArrayList<データ型>( Arrays.asList(要素) );
List<データ型> リスト名 = new ArrayList<データ型>();
最も基本的なArrayListの宣言方法です。
データ型は、リストに格納したいデータの型を指定し、リスト名は自分の好きな名前でOKです。
以下、実例です。
List<String> name = new ArrayList<String>();
これで、何もデータが格納されていない ArrayList「name」が作成されました。
List<データ型> リスト名 = new ArrayList<データ型>( 要素数 );
この宣言方法では、あらかじめArrayListの要素数を指定しておくことができます。
初めからたくさんのデータを格納することが分かっている場合に使用すると良いです。
以下、実例です
List<String> name = new ArrayList<String>(1000);
これで、要素数1000のArrayList「name」が作成されました。
List<データ型> リスト名 = new ArrayList<データ型>( Arrays.asList(要素) );
この宣言方法では、宣言時に初期値を設定することができます。
初めから格納するデータが決まっている場合に使用すると良いです。
以下、実例です。
List<String> name = new ArrayList<String>(Arrays.asList("太郎", "次郎", "三郎"));
これで、「太郎」、「次郎」、「三郎」が格納されたArrayList「name」が作成されました。
ArrayListにデータを格納
初めから格納するデータが決まっている場合には、上で説明した宣言方法③(asListを使った方法)であらかじめデータを格納することができます。
宣言後にデータを格納するにはadd( )メソッドを使用します。
add( )の書き方は以下の通りです。
リスト名.add( データ );
add( )メソッドを使用すると、ArrayListの末尾にデータを追加します。
以下、実例です。
//空のArrayListを作成
List<String> name = new ArrayList<String>();
//末尾にデータを追加
name.add("太郎");
name.add("次郎");
name.add("三郎");
これで、ArrayList「name」には「太郎」、「次郎」、「三郎」が格納されました。
ちなみに、remove( )メソッドを使うことで、要素を削除することができます。
remove( )メソッドの書き方は以下の通りです。
リスト名.remove( 要素番号 );
以下が実例です。
name.remove(1); //要素「次郎」が削除される
先ほどのArrayList「name」の要素「次郎」を削除しています。
ArrayListからデータを取り出す
ArrayListからデータを取り出すにはget( )メソッドを使います。
get( )メソッドの書き方は以下の通りです。
リスト名.get( 要素番号 );
以下、実例です。
//空のリスト作成
List<String> name = new ArrayList<String>();
//データの格納
name.add("太郎");
name.add("次郎");
name.add("三郎");
//データの取り出し
System.out.println(name.get(1)); //「次郎」が出力される
まとめ
Listと配列の違い
・Listは宣言後に要素数を増減できるが、配列はできない
List、ArrayListのインポート方法
・import java.util.List;
・import java.util.ArrayList;
ArrayListの宣言方法
・List<データ型> リスト名 = new ArrayList<データ型>();
・List<データ型> リスト名 = new ArrayList<データ型>( 要素数 );
・List<データ型> リスト名 = new ArrayList<データ型>( Arrays.asList(要素) );
ArrayListへのデータの格納方法
リスト名.add( データ );
ArrayListからデータを取り出す方法
リスト名.get( 要素番号 );
コメント