OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:680
区分:プログラム  |  分類:Java  |  最終更新日:2015/06/25
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【Java】ArrayListの基本操作
関連タグ:Java, コレクション, 配列, List, ArrayList
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 22,813
Java関連技術まとめ > 【Java】ArrayListの基本操作

java.util.ArrayListは配列を用いたjava.util.Listインターフェースの実装クラスになります。コレクションの最も基本的なクラスで、サイズを動的に変更できる配列と考えて相違ないです。

 

ArrayListクラスの特長と主要メソッド

【クラスの特長】

クラス要素の重複nullの挿入自動ソート
java.util.ArrayList なし

 

【クラスの主要メソッド】

戻り値メソッド説明
boolean add(Object o) リストの最後に要素oを追加します。
void add(int i, Object o)

リストのi番目に要素oを追加します。

iがリストのサイズ+1よりも大きい場合はIndexOutOfBoundsExceptionの例外が発生します。

void clear() リストの全ての要素を削除します。
Object clone() リストのコピー(シャローコピー)を返します。
boolean contains(Object o) リストに要素oが存在するか判定し、存在する場合はtrueを返します。
Object get(int i)

リストのi番目の要素を返します。

iが存在しない場合はIndexOutOfBoundsExceptionの例外が発生します。

int indexOf(Object o)

リストを始めから検索し、要素oが最初に見つかった位置を返します。

見つからなかった場合は「-1」を返します。

boolean isEmpty() リストが空かどうかを判定し、空の場合にtrueを返します。
int lastIndexOf(Object o)

リストを終わりから検索し、要素oが最初に見つかった位置を返します。

見つからなかった場合は「-1」を返します。

Object remove(int i)

リストのi番目の要素を削除します。戻り値には削除した要素が返ります。

iが存在しない場合はIndexOutOfBoundsExceptionの例外が発生します。

Object set(int i, Object o)

リストのi番目の要素を要素oに置き換えます。戻り値には置き換える前の要素が返ります。

iが存在しない場合はIndexOutOfBoundsExceptionの例外が発生します。

int size()

リストの要素数を返します。

Object[] toArray()

リストを配列にして返します。

ArrayListを生成する

ArrayListオブジェクトはnew演算子を使用して以下のように生成します。

 

JDK1.5以降

ArrayList<型> 変数名 = new ArrayList<型>();

 

上記方法での生成は、ジェネリクス機能が導入されたJ2SE5.0(JDK1.5)以降に可能です。それ以前の古いバージョンでは、以下の方法で生成します。

 

ArrayList 変数名 = new ArrayList();

 

なお、ジェネリクスを使用した生成方法で<型>に指定できるオブジェクト型は参照型になります。基本型ではないところに注意する必要があります。

各型の参照型と基本型の対応表は以下になります。

 

参照型基本型
Boolean boolean
Character char
Byte byte
Short short
Integer int
Long long
Float float
Doubule double
String String

 

例)String型、int型のArrayListオブジェクトを生成する場合は、以下のように指定します。

ArrayList strArray = new ArrayList();
ArrayList intArray = new ArrayList();

ArrayListにデータを追加する

ArrayListオブジェクトにデータを追加する場合は、addメソッドを使用します。

 

ArrayList<String> array = new ArrayList();

array.add("Google");
array.add("Apple");
array.add("Microsoft");

 

オブジェクトのサイズは動的に確保されるため、ユーザはサイズを気にせず必要に応じてデータを追加できます。追加されたデータは格納された順に「0」から始まるインデックス番号が付けられます。なお、addメソッドは挿入要素のほかに挿入位置を引数で指定することで、リストの任意の位置にデータを挿入することもできます。上記リストの3番目にデータを挿入したい場合は以下のように記述します。

 

array.add(2, "amazon");

 

挿入位置を第一引数で、挿入要素を第二引数で指定することに注意する必要があります。addメソッドは指定したインデックス番号に要素を挿入しますので、上記の結果は以下になります。

index要素
0 Google
1 Apple
2 amazon
3 Microsoft

ArrayListのデータを参照する

ArrayListオブジェクトのデータを参照する場合は、getメソッドを使用します。

 

System.out.println(array.get(0));
System.out.println(array.get(1));
System.out.println(array.get(2));

 

getメソッドは引数に参照したいインデックス番号を指定することで、リスト内の任意のデータを参照することができます。上記例では、標準出力にインデックス番号0~2の値を表示します。

ArrayListのデータを削除する

ArrayListオブジェクトのデータを削除する場合は、removeメソッドを使用します。

 

System.out.println(array.remove(3));

 

removeメソッドは引数に削除したいインデックス番号を指定することで、リスト内の任意のデータを削除することができます。また、メソッドの戻り値は削除した要素となりますので、上記例では削除された「Microsoft」が標準出力に表示されます。

サンプルプログラム

以下サンプルではArrayListにString型の値を格納し、格納した値を標準出力に出力します。

 

import java.util.ArrayList;

public static void main(String[] args) {

    ArrayList<String> array = new ArrayList();

    array.add("aaa");
    array.add("bbb");
    array.add("ccc");

    for (String item : array){
        System.out.println(item);
    }
}

【実行結果】

aaa
bbb
ccc
関連記事
外部リンク
- 記事検索 -