Warning: include_once(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/users/2/moriya-h5/web/confrage/java/list/arraylist/arraylist.html on line 2

Warning: include_once(http://www.confrage.com/bin/header.php): failed to open stream: no suitable wrapper could be found in /home/users/2/moriya-h5/web/confrage/java/list/arraylist/arraylist.html on line 2

Warning: include_once(): Failed opening 'http://www.confrage.com/bin/header.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/list/arraylist/arraylist.html on line 2
ArrayList | Java | 株式会社CONFRAGE
Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/menu.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/list/arraylist/arraylist.html on line 17

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/menu.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/list/arraylist/arraylist.html on line 17
ArrayList
ArrayListはListインターフェースを実装したクラスで、動的配列のようなものです。
要素は重複要素を許し、インスタンス作成時の配列サイズ(new ArrayList().size())は0です。
要素を追加(add)するたびにサイズは+1されます。逆に削除(remove)するとサイズは-1されます。
配列サイズ外の要素にアクセスするとIndexOutOfBoundsExceptionがスローされます。

以下、サンプルです。

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

public class Test {
    public static void main(String[] args) {
        List list = new ArrayList();
        System.out.println("インスタンス作成時のサイズ = " + list.size());
        list.add(0,"ccc");
        System.out.println(list.size());
        list.add(0,"bbb");
        System.out.println(list.size());
        list.add(2,"aaa");
        System.out.println(list.size());
        
        for(int i=0;i<list.size();i++){
            System.out.println("list要素" + i + " = " + list.get(i));
        }
    }
}
実行結果は以下のようになります。

インスタンス作成時のサイズ = 0
1
2
3
list要素0 = bbb
list要素1 = ccc
list要素2 = aaa
重複要素のチェック
リストの要素に重複して要素が存在するかをチェックするには、contains()メソッドを使用します。
以下、例です。

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

public class Test {
    public static void main(String[] args) {
        List list = new ArrayList();
        
        list.add("test");
        if(list.contains("test")){
            System.out.println("重複してます");
        }
    }
}
実行結果は以下のようになります。

重複してます
Java5からの記述方法
Java5からはListの記述方法が変わっています。 プログラマーのミスを防ぐためにパラメータの型を明確に記述するように変更されています。

例えばelementがString型の場合、以下のように記述します。

List<String> = new ArrayList<String>();
Listの初期化
Java5以降ではlistを簡単に初期化することができるようになりました。
Arrays.asListメソッドを使用します。
使い方は配列のように使用します。以下、例です。

import java.util.Arrays;
import java.util.List;

public class test1 {
    public static void main(String[] args){
        List<String> list = Arrays.asList("a","b","c");
        if(list.contains("a")){
            System.out.println(list);
        }
    }
}
ちなみにこのlistに対してremoveやaddメソッドを使用すると、UnsupportedOperationExceptionエラーが発生します。
これはArrays.asListメソッドの戻り値は、固定サイズのリストを返すからです。
addやremoveを使いたいなら固定サイズのリストをコンストラクタの引数に指定すれば可能です。以下、例です。

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

public class test1 {
    public static void main(String[] args){
        List<String> list = new ArrayList<String>(Arrays.asList("a","b","c"));
        list.add("d");
        if(list.contains("d")){
            System.out.println(list);
        }
    }
}
Listのnullチェック
ListのnullチェックはisEmpty()メソッドではできず、以下のように記述すべきです。

if(list == null || list.isEmpty()){

}
isEmpty()メソッドは""であるかどうかのBoolean値を返すのでListがnullの場合trueを返さずにNullPointerExceptionになります。
また、Listがnullの状態で以下のように記述すると、先に書いた条件を判断するためNullPointerExceptionになります。

if(list.isEmpty() || list == null){

}

Back to top

Information

Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/side_bar.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/list/arraylist/arraylist.html on line 204

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/side_bar.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/list/arraylist/arraylist.html on line 204

Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/seo.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/list/arraylist/arraylist.html on line 213

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/seo.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/list/arraylist/arraylist.html on line 213