Java|ArrayListの特徴と基本的なメソッドの使い方

ArrayListの特徴とメソッドの使い方プログラミングの知識
プログラミングの知識

今回はコレクションListインターフェイスに実装されているArrayListクラスの特徴と、その基本的な使い方について紹介します。

スポンサーリンク

ArrayListの特徴と記述例

ArrayList配列と似た構造を持ち、インデックス値により要素にアクセスします。配列と大きく違う点として、要素のサイズを後から変更可能であることが挙げられます。

ArrayListの特徴を下にまとめてみます。

ArrayListの特徴
  • 要素数が可変である
  • 要素の順番は保持される
  • 要素の重複が許される
  • 要素の「null」を保持できる
  • 要素へのアクセスが高速であるが、要素の挿入と削除が低速である

ArrayListは以下の様に記述します。

ArrayList<ラッパークラス> 変数名 = new ArrayList<>();

//例:String型の要素を格納する
ArrayList<String> list = new ArrayList<>();

ここで、型にはintのような基本データ型を要素に持つリストは作成できません。従って、ラッパークラスを使う必要があります。

//intのラッパークラスであるIntegerを使う
ArrayList<Integer> intList = new ArrayList<>();

また他の書き方として、

List<ラッパークラス> list = new ArrayList<Integer>();

var list = new ArrayList<ラッパークラス>();

のように記述することも可能です。

ArrayListの基本的なメソッド

次にArrayListでよく使うメソッドを紹介します。

要素の追加(addメソッド)

要素を追加する時にはaddメソッドを使います。

add(指定位置,要素);

指定位置を省略することで末尾に要素を追加することができます。

サンプルコードと出力結果

サンプルコードを以下に示します。

import java.util.ArrayList;
import java.util.List;

public class AddTest {

	public static void main(String[] args) {
		List<String> list = new ArrayList>();
		
		//赤、青、緑の順番でlistに追加し出力する
		list.add("赤");
		list.add("青");
		list.add("緑");
		System.out.println(list);
		
		//インデックス2の位置に黄色を追加し出力する
		list.add(2, "黄色");
		System.out.println(list);
	}
}

サンプルコードの出力結果を以下に示します。

[赤, 青, 緑]
[赤, 青, 黄色, 緑]

要素の更新(setメソッド)

要素を更新する時にはsetメソッドを使います。

set(指定位置,要素);

サンプルコードと出力結果

サンプルコードを以下に示します。

import java.util.ArrayList;
import java.util.List;

public class SetTest {

	public static void main(String[] args) {
		List<Integer> list = new ArrayList<>();
		// 1,3,5の順番でlistに追加し出力する
		list.add(1);
		list.add(3);
		list.add(5);
		System.out.println(list);
		
		// インデックス2の要素を6に更新する
		list.set(2, 6);
		System.out.println(list);
	}

}

サンプルコードの出力結果を以下に示します。

[1, 3, 5]
[1, 3, 6]

要素の取得(getメソッド)

リストから値を取り出す場合は、getメソッドを使います。

get(指定位置);

サンプルコードと出力結果

サンプルコードを以下に示します。

import java.util.ArrayList;
import java.util.List;

public class GetTest {

	public static void main(String[] args) {
		List<Integer> list = new ArrayList<>();
		
		// 1,10,100の順番でlistに追加しインデックス2の要素を出力する
		list.add(1);
		list.add(10);
		list.add(100);
		System.out.println(list);
		System.out.println(list.get(1));
	}

}

サンプルコードの出力結果を以下に示します。

[1, 10, 100]
10

要素の削除(removeメソッド, clearメソッド)

要素を削除するときはremoveメソッドを使います。リストから要素をすべて削除するときはclearメソッドを使います。

remove(指定位置);
clear();

サンプルコードと出力結果

サンプルコードを以下に示します。

import java.util.ArrayList;
import java.util.List;

public class RemoveTest {

	public static void main(String[] args) {
		List<String> list = new ArrayList<String>();

		// 赤、青、緑の順番でlistに追加し出力する
		list.add("赤");
		list.add("青");
		list.add("緑");
		System.out.println(list);

		// インデックス2の位置を削除し出力する
		list.remove(2);
		System.out.println(list);

		// 要素を全て削除し出力する
		list.clear();
		System.out.println(list);
		}

}

サンプルコードの出力結果を以下に示します。

[赤, 青, 緑]
[赤, 青]
[]

まとめ

今回やったことのまとめです。

ポイント
  • ArrayListを使うことで要素数が可変のものを扱える
  • 要素の追加削除などはメソッドを使って行う

以上がArrayListについてのまとめです。

最初の時点で要素数が確定している場合は配列を使いますが、要素の入れ替えや要素の追加や削除が行われたりする場合には、こちらの方が便利ですね。

スポンサーリンク
Dim雑記
タイトルとURLをコピーしました