1

この記事の目次



1.  Listインタフェースのまとめ


  • 格納される要素において重複を許可し、順番を持つコレクションです。インデックス番号で要素を識別し、前後に要素をたどったり、要素を消したり追加したりできます。
  • Listインタフェースだけではなく、コレクションフレームワークを利用したいときはjava.util.*をimportします。
  • Listへの操作はインタフェースで定義されるメソッドを利用します。以下は主に使っているメソッドです。
  • メソッド 戻り値の型 メソッドの意味
    add(E element) boolean 指定された要素をリストの最後に追加します
    add(int index,E element) void リスト内の指定された位置に、してされた要素を挿入します
    addAll(C< extends E> c) void 指定コレクション(バラメータ:要素型)をリストの最後に追加します
    clear() void 全ての要素をリストから削除します
    contains(Object o) boolean リストに指定の要素がリストと等しいかどうかを比較します
    get(int index) E リスト内の指定された位置にある要素を返します
    isEmpty() boolean リストに要素がない場合にtrueを返す
    listIterator(int index) ListIterator< E > リスト内の指定された位置から開始する反復子を返します
    listIterator() ListIterator< E > listIterator(0)と同じ
    lastIndexOf(Object o) int 指定要素がリスト内で最後に検出された位置のインデックスを返します
    remove(int index) E リスト内の指定された位置にある要素を削除します
    remove Object o boolean 指定要素がリストにあればその最後のものをリストから削除します
    set(int index,E element) E リスト内の指定位置にある要素を指定要素に置き換えます
    size() int リスト内にある要素の数を返します

    2.  ArrayListの宣言と初期化


    Java6以前: ArrayList<データ型名> 変数名 = new ArrayList<データ型名>();
    Java7以後: ArrayList<データ型名> 変数名 = new ArrayList<>();
    ArrayList< String > listStr = new ArrayList<>();
    ArrayList< Integer > listInt = new ArrayList<>();
    ArrayList< Float > listFloat = new ArrayList<>();
    ArrayList< Date > listDate = new ArrayList<>();

    3.  要素の格納・追加・取得・取消


     ●  要素を格納・追加する

    * add, addAllで要素を追加する

    ArrayList変数名.add(値);
    ArrayList変数名.add(場所,リスト);
    ArrayList変数名.addAll(リスト);
    ArrayList変数名.addAll(場所,リスト);
    Collections.addAll(ArrayList変数名,値1,値2,値3....);
  • add()メソッドは単一引数として指定すると、ArrayListの末尾にを追加します。また、0から始まるint値と要素を引数として指定すると、指定の位置にを挿入することもできます。
  • addAll()メソッドは単一引数として指定すると、ArrayListの末尾にリストを追加します。また、0から始まるint値と要素を引数として指定すると、指定の位置にリストを挿入することもできます。
  • CollectionsクラスのaddAllメソッドはList型のオブジェクトに要素を一斉に追加するメソッドです。java.util.Collectionsをimportする必要があります。
  • package helloworld;
    
    import java.util.ArrayList;
    import java.util.Collections;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list1 = new ArrayList<>();
            //addメソッドでlist1に値を1つずつ追加します
            list1.add(1);
            list1.add(3);
            list1.add(4);
            list1.add(1,2);//listの1番目に「2」を追加します
            System.out.println("ArrayList1の要素: " + list1);
             
            ArrayList< Integer > list2 = new ArrayList<>();
            //CollectionsクラスのaddAllメソッドでlist2に値を一斉に追加します
            Collections.addAll(list2, 5,6,7,8);
            System.out.println("ArrayList2の要素: " + list2);
            
            //addAllでlist1の末尾にlist2を追加します
            list1.addAll(list2);
            System.out.println("addAllでlist1の末尾にlist2を追加した: " + list1);
            
        }
        
    }

    実行結果:
    ArrayList1の要素: [1, 2, 3, 4]
    ArrayList2の要素: [5, 6, 7, 8]
    addAllでlist1の末尾にlist2を追加した: [1, 2, 3, 4, 5, 6, 7, 8]

    * setで要素を書き換える

    ArrayList変数名.set(場所,書き換える値);
  • set()メソッドは0から始まるint値と要素を引数として指定すると、指定位置の要素を上書きして置き換え、古い要素を戻り値として返します。
  • package helloworld;
    
    import java.util.ArrayList;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list1 = new ArrayList<>();
            //list1に値を追加します
            list1.add(1);
            list1.add(1);
            list1.add(3);
            list1.add(4);
            
            System.out.println("ArrayList1の要素: " + list1);
             
            //list1の1番目の要素を2に書き換える
            list1.set(1, 2);
            
            System.out.println("新ArrayList1の要素: " + list1);
            
        }
        
    }

    実行結果:
    ArrayList1の要素: [1, 1, 3, 4]
    新ArrayList1の要素: [1, 2, 3, 4]

    * Collections.fill()でリストの全ての要素を書き換える

    Collections.fill(ArrayList変数名, 値);
  • Collectionsクラスのfillメソッドは第一引数で指定したListに第二引数で指定した値に全て書き換えるというメソッドです。
  • java.util.Collectionsをimportする必要があります。
  • package helloworld;
    
    import java.util.ArrayList;
    import java.util.Collections;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list1 = new ArrayList<>();
            //list1に値を追加します
            list1.add(1);
            list1.add(2);
            list1.add(3);
            list1.add(4);
            
            System.out.println("ArrayList1の要素: " + list1);
             
            //list1のすべての要素を0に書き換える
            Collections.fill(list1, 0);
            
            System.out.println("新ArrayList1の要素: " + list1);
            
        }
        
    }

    実行結果:
    ArrayList1の要素: [1, 2, 3, 4]
    新ArrayList1の要素: [0, 0, 0, 0]

     ●  要素を取り出す

    get(要素の位置);
  • 指定の位置の要素を取り出すにはget()を使います。
  • 要素の位置の指定は0から始まる点を注意してください。
  • package helloworld;
    
    import java.util.ArrayList;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list1 = new ArrayList<>();
            //list1に値を追加します
            list1.add(1);
            list1.add(2);
            list1.add(3);
            list1.add(4);
            
            System.out.println("ArrayList1の0番目の要素: " + list1.get(0));
            System.out.println("ArrayList1の1番目の要素: " + list1.get(1));
             
        }
        
    }

    実行結果:
    ArrayList1の0番目の要素: 1
    ArrayList1の1番目の要素: 2

     ●  要素を削除する

    * 指定位置の要素を削除する

    ArrayList変数名.remove(位置);
  • remove()メソッドは指定位置の要素を削除し、削除された要素の後ろにあった全ての要素は1つずつ前に詰められます。
  • * clear()で全ての要素を削除する

    ArrayList変数名.clear();
    package helloworld;
    
    import java.util.ArrayList;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list1 = new ArrayList<>();
            //list1に値を追加します
            list1.add(1);
            list1.add(2);
            list1.add(3);
            list1.add(4);
            
            //list1の2番目の要素を削除する
            list1.remove(2);
            System.out.println("ArrayList1の全ての要素: " + list1);
            
            //list1の全ての要素を削除する
            list1.clear();
            System.out.println("ArrayList1の全ての要素: " + list1);
             
        }
        
    }

    実行結果:
    ArrayList1の全ての要素: [1, 2, 4]
    ArrayList1の全ての要素: []

    4.  要素を順に取り出す4つの方法


     ●  for文を用いたリスト要素の取り出し

    for(int i=0; i < ArrayList変数名.size(); i++){
        //ArrayList変数名.get(i)で要素を読み書き
    }
  • ここで、ArrayList変数名.size() はArrayListの要素数です。配列の場合は配列名.lengthです。
  •  for文と配列について詳しく見たい方:

    for文と配列

    ../../../java/java-array.html?goto=3to2

    配列とは、同じ型の複数の値をまとめて一つの変数として扱うことができるデータ構造です。この記事では配列の宣言、初期化、追加などの基本操・・・
    package helloworld;
    
    import java.util.ArrayList;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list1 = new ArrayList<>();
            //list1に値を追加します
            list1.add(1);
            list1.add(2);
            list1.add(3);
            list1.add(4);
            
            //for分でArrayListの要素を取り出す
            for (int i = 0; i < list1.size(); i++){
                System.out.println(list1.get(i));
            }
             
        }
        
    }

  • 長所:古いJavaでも利用可能
  • 短所:構文はわかりにくい。
  •  ●  拡張for文を用いたリスト要素の取り出し

    for(ArrayList要素の型 e: ArrayList 変数名){
        //e で要素を読み書き
    }

    ArrayListに使う拡張for文はArrayに使う拡張for文と似ていますので楽勝ですね。

    package helloworld;
    
    import java.util.ArrayList;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list1 = new ArrayList<>();
            //list1に値を追加します
            list1.add(1);
            list1.add(2);
            list1.add(3);
            list1.add(4);
            
            //拡張for分でArrayListの要素を取り出す
            for(Integer e : list1){
                System.out.println(e);
            }
             
        }
        
    }

  • 長所:構文がわかりやすい、Setなどでも利用可能
  • 短所:Java5以降のみ利用可能
  •  ●  イテレータを用いたリスト要素の取り出し

    Iterator< ArrayList要素型 > it = ArrayList変数名.iterator();
    while(it.hasNext()){
        ArrayList要素型 e = it.next();
        //要素 e を用いた処理
    }
  • Iterator(イテレータ)とはListやMapなどのコレクションの要素を、順番に処理する場合に使用します。
  • hasNextメソッド:次の要素数がある場合にtrueを返すメソッドです
  • nextメソッドは次の要素を取得する場合に用いるメソッドです。
  • java.util.Iteratorをimportする必要があります。
  • List用の反復子のListIterator インタフェースのメソッド:

    メソッド メソッドの意味 戻り値型
    hasNext() 順方向に次の要素を持っている場合にtrueを返す boolean
    hasPrevious() 逆方向に次の要素を持っている場合にtrueを返す boolean
    next() リスト内の次の要素を返す E
    nextIndex() 次のnextで返されることになる要素のインデックスを返す int
    previous() リストの前の要素を返す E
    previousIndex() 次のpreviousで返されることになる要素のインデックスを返す int
    remove() next/previousが返した最後の要素をリストから削除する void
    set(R e) next/previousが返した最後の要素を指定要素で置き換える void
    package helloworld;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list1 = new ArrayList<>();
            //list1に値を追加します
            list1.add(1);
            list1.add(2);
            list1.add(3);
            list1.add(4);
            
            //IteratorでArrayListの要素を取り出す
            Iterator< Integer > it = list1.iterator();
            while(it.hasNext()){
                
                Integer e = it.next();
                System.out.println(e);
                
            }
             
        }
        
    }

  • 長所:古いJavaでも利用可能で、Setなどでも利用可能
  • 短所:構文がわかりにくい
  •  ●  forEachメソッドを用いたリスト要素の取り出し

    ArrayList変数名.forEach(引数 -> 繰り返し行う処理(引数))
  • forEachメソッドはfor文と同様に配列、List、Mapなどに対して繰り返し処理を行うときに使います。
  • forEachメソッドを使った場合は、型を書く必要がなくなるので簡潔にコードを書くことができます。
  • 注意:forEachはJava8以降だけに対応しています。
  • package helloworld;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list1 = new ArrayList<>();
            //list1に値を追加します
            list1.add(1);
            list1.add(2);
            list1.add(3);
            list1.add(4);
            
            //forEachでArrayListの要素を取り出す
           list1.forEach(e -> System.out.println(e));
             
        }
        
    }

    5.  主に使われているメソッド


     ●  sizeで要素数を取得する

    ArrayList変数名.size();

    sizeメソッドはリストの要素数を取得する場合に使用します。

    Listを初期化直後にsizeメソッドを使った場合は0を返してくれます。

    package helloworld;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list1 = new ArrayList<>();
            //listの要素数をコンソールに出力する
            System.out.println("ArrayListの初期化直後のサイズ:" + list1.size());
            
            //list1に値を追加します
            list1.add(1);
            list1.add(2);
            list1.add(3);
            list1.add(4);
            
            //listの要素数をコンソールに出力する
            System.out.println("ArrayList" + list1 + "のサイズ:" + list1.size());
             
        }
        
    }

    実行結果:
    ArrayListの初期化直後のサイズ:0
    ArrayList[1, 2, 3, 4]のサイズ:4

     ●  indexOfで要素の位置を検索する

    ArrayList変数名.indexOf(値);
    ArrayList変数名.lastIndexOf(値);
  • indexOfメソッドはListの先頭から検索して最初に見つかった位置のインデックスを返すメソッドです。
  • lastIndexOfメソッドはListの末尾から検索して最初に見つかった位置のインデックスを返すメソッドです。
  • 見つからなかった場合はメソッドの戻り値は -1 です。
  • package helloworld;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list = new ArrayList<>();
            
            //listに値を追加します
            list.add(1);
            list.add(2);
            list.add(2);
            list.add(1);
            
            int index = list.indexOf(2);
    	int lastIndex = list.lastIndexOf(2);
     
    	System.out.println("最初の要素番号 = " + index);
    	System.out.println("最後の要素番号 = " + lastIndex);
            System.out.println("要素が見つからない場合の戻り値:" + list.lastIndexOf(4));
             
        }
        
    }

    実行結果:
    最初の要素番号 = 1
    最後の要素番号 = 2
    要素が見つからない場合の戻り値:-1

     ●  containsで要素の有無を確認する

    ArrayList変数名.contains(値);
  • containsメソッドは指定した値がリスト内にあるかないか判定する
  • 戻り値の型はboolean型です、この点はindexOf()メソッドと違いますので要注意です。
  • package helloworld;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list = new ArrayList<>();
            
            //listに値を追加します
            list.add(1);
            list.add(2);
            list.add(2);
            list.add(1);
            
            //listの全ての要素をコンソールに出力する
            System.out.println("全要素:" + list);
            
            if(list.contains(2)){
               System.out.println("要素2が見つかりました");
            }else{
                System.out.println("要素2が見つかりませんでした");
            }
            
            if(list.contains(3)){
               System.out.println("要素3が見つかりました");
            }else{
                System.out.println("要素3が見つかりませんでした");
            }
             
        }
        
    }

    実行結果:
    全要素:[1, 2, 2, 1]
    要素2が見つかりました
    要素3が見つかりませんでした

     ●  subListでListの一部をコピーする

    ArrayList変数名.subList(インデックスの始まり,インデックスの終わりの一つ後ろのインデックス);
  • subListメソッドは元のArrayListから必要な一部分だけを切り出して新しいListを作るメソッドです
  • subListメソッドは元のArrayListの「第1引数」番目から「第2引数-1」番目までを取り出します。つまり、subListは元のArrayListの「第2引数」番目の値が含められてないのを注意しましょう。
  • 戻り値はListですので、subListに新しいインスタンスを用意したいときはjava.util.Listをimportする必要があります。
  • package helloworld;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list = new ArrayList<>();
            
            //listに値を追加します
            list.add(1);
            list.add(2);
            list.add(3);
            list.add(4);
            
            //listの全ての要素をコンソールに出力する
            System.out.println("listの全要素:" + list);
            
            //新しいインスタンスsubListを作成し、listのsubListに確保します
            List< Integer > subList = list.subList(1, 3);
            
            //subListの全ての要素をコンソールに出力する
            System.out.println("subListの全ての要素:" + subList);
             
        }
        
    }
    

    実行結果:
    listの全要素:[1, 2, 3, 4]
    subListの全ての要素:[2, 3]
    説明 : 上に説明した通りに、subList(1,3)のListは元のlistの1番目から「3-1 = 2」番目までを取り出しますので、結果は[2,3]になったわけです。

    * 元のListとsubListの値が共有されている

  • 元のListの値を変えるとsubListの値も変わる
  • subListの値を変えると元のListの値も変わる
  • package helloworld;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list = new ArrayList<>();
            
            //listに値を追加します
            list.add(1);
            list.add(2);
            list.add(3);
            list.add(4);
            
            //listの全ての要素をコンソールに出力します
            System.out.println("listの全要素:" + list);
            
            //新しいインスタンスsubListを作成し、listのsubListに確保します
            List< Integer > subList = list.subList(1, 3);
            
            //subListの全ての要素をコンソールに出力します
            System.out.println("subListの全ての要素:" + subList);
            
            //元のArrayListの1番目の要素を100に書き換える
            list.set(1, 100);
            
            //listとsubListの全ての要素をコンソールに出力します
            System.out.println("\nlistの要素の変更後:");
            System.out.println("listの全要素:" + list);
            System.out.println("subListの全ての要素:" + subList);
            
            //subListの1番目の要素を101に書き換える
            subList.set(1, 101);
            
            //listとsubListの全ての要素をコンソールに出力します
            System.out.println("\nsubListの要素の変更後:");
            System.out.println("listの全要素:" + list);
            System.out.println("subListの全ての要素:" + subList);
             
        }
        
    }

    実行結果:
    listの全要素:[1, 2, 3, 4]
    subListの全ての要素:[2, 3]
    
    listの要素の変更後:
    listの全要素:[1, 100, 3, 4]
    subListの全ての要素:[100, 3]
    
    subListの要素の変更後:
    listの全要素:[1, 100, 101, 4]
    subListの全ての要素:[100, 101]
    説明 : 実行結果を見ただけでわかるかと思いますが、listの要素を変更しただけで、subListの値も変わります、逆に、subListの要素を変更したら、元のlistの要素も変わります。

    * subListメソッドでListの範囲を指定して一括削除をする

    ArrayList変数名.subList(インデックスの始まり,インデックスの終わりの一つ後ろのインデックス).clear();

    元のListとsubListの値が共有されているというsubListメソッドの性質を利用して、ArrayListの一部を一括削除することができます。

    package helloworld;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list = new ArrayList<>();
            
            //listに値を追加します
            list.add(1);
            list.add(2);
            list.add(3);
            list.add(4);
            
            //listの全ての要素をコンソールに出力します
            System.out.println("listの全要素:" + list);
            
            //新しいインスタンスsubListを作成し、listのsubListに確保します
            List< Integer > subList = list.subList(1, 3);
            
            //subListの全ての要素をコンソールに出力します
            System.out.println("subListの全要素:" + subList);
            
            //subListの全要素を削除する
            subList.clear();
            
            //listの全ての要素をコンソールに出力します
            System.out.println("subListの全要素をclearした後のlistの全要素:" + list);
             
        }
        
    }

    実行結果:
    listの全要素:[1, 2, 3, 4]
    subListの全要素:[2, 3]
    subListの全要素をclearした後のlistの全要素:[1, 4]

     ●  remove、removeAll、removeif、clearで要素を削除する

    ArrayList変数名.remove(index番号);
    ArrayList変数名.removeAll(Collection型のオブジェクト);
    ArrayList変数名.removeif(ラムダ式);
    ArrayList変数名.clear();
  • removeメソッドはArrayListの要素のindex番号によって、要素を削除するメソッドです。
  • removeAllメソッドはArrayListの要素のなかで指定した値の要素だけをすべて削除するメソッドです。removeAllメソッドは引数にCollection型のオブジェクトを指定する必要があります。
  • removeifメソッドは条件付きでArrayListの要素を削除するメソッドです。ArrayListの要素に対してラムダ式で条件を指定して、該当する要素を削除します。
  • clearメソッドはArrayList内の要素をすべて削除し、空にするメソッドです。
  • package helloworld;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list = new ArrayList<>();
            
            //listに値を追加します
            list.add(1);
            list.add(2);
            list.add(3);
            list.add(2);
            list.add(4);
            list.add(2);
            list.add(5);
            
            //listの全ての要素をコンソールに出力します
            System.out.println("listの全要素:" + list);
            
            //listの1番目の要素を削除します。
            list.remove(1);
            System.out.println("listの1番目の要素を削除した後のlistの全要素:" + list);
            
            //listの中でlist2の要素と等しい要素を削除します。
            ArrayList< Integer > list2 = new ArrayList<>();
            list2.add(2);
            list.removeAll(list2);
            System.out.println("listの「2」の要素を削除した後のlistの全要素:" + list);
            
            // listリストの要素をeとしてひとつひとつを参照し、eが4と等しいのものを削除します。
            list.removeIf(e -> e == 4);
            System.out.println("removeIfメソッドでlistの「4」の要素を削除した後のlistの全要素:" + list);
            
            //subListの全要素を削除する
            list.clear();
            System.out.println("list全要素をclearした後のlistの全要素:" + list);
             
        }
        
    }

    実行結果:
    listの全要素:[1, 2, 3, 2, 4, 2, 5]
    listの1番目の要素を削除した後のlistの全要素:[1, 3, 2, 4, 2, 5]
    listの「2」の要素を削除した後のlistの全要素:[1, 3, 4, 5]
    removeIfメソッドでlistの「4」の要素を削除した後のlistの全要素:[1, 3, 5]
    list全要素をclearした後のlistの全要素:[]

     ●  sortでListの要素をソートする

    昇順でソート:Collections.sort(ArrayList変数名);
    降順でソート:Collections.sort(ArrayList変数名, Collections.reverseOrder());
  • List型のオブジェクトの要素をソートするには、Collectionsクラスのsortメソッドを使用します。
  • java.util.Collectionsをimportする必要があります。
  • package helloworld;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            ArrayList< Integer > list = new ArrayList<>();
            
            //listに値を追加します
            list.add(1);
            list.add(2);
            list.add(3);
            list.add(2);
            list.add(4);
            list.add(2);
            list.add(5);
            
            //listの全ての要素をコンソールに出力します
            System.out.println("元のlistの全要素:" + list);
            
            //昇順でソート:
            Collections.sort(list);
            System.out.println("昇順:" + list);
            
            //降順でソート:
            Collections.sort(list,Collections.reverseOrder());
            System.out.println("降順:" + list);
             
        }
        
    }

    実行結果:
    listの全要素:[1, 2, 3, 2, 4, 2, 5]
    昇順:[1, 2, 2, 2, 3, 4, 5]
    降順:[5, 4, 3, 2, 2, 2, 1]

    6.  配列とListの相互変換


    配列からArrayListへの変換:ArrayList変数名 = Arrays.asList(配列変数名);
    ArrayListから配列への変換:配列変数名 = ArrayList変数名.toArray();
    package helloworld;
    
    import java.util.Arrays;
    import java.util.List;
    
    public class HelloWorld {
          
        public static void main(String[] args) {
            
            // 配列からListへの変換
            //コレクションで使われてるのはクラス型なので、intなどのプリミティブ型を利用できないため、配列にIntegerで宣言します。
            Integer[] array1 = {1,2,3,4};
            List list1 = Arrays.asList(array1);
            //list1の全要素をコンソールに出力する
            System.out.println("List: " + list1);
            
            // Listから配列への変換
            Integer[] array2 = list1.toArray(new Integer[list1.size()]);
            
            //array2の全要素をコンソールに出力する
            System.out.print("Array: ");
            for(Object e: array2) {
                System.out.print(e + " ");
            }
            
        }
        
    }

    実行結果:
    List: [1, 2, 3, 4]
    Array: 1 2 3 4

    7.  まとめ


    この記事ではList型オブジェクトのArrayListクラスを紹介しました。

    ArrayListの宣言、初期化や要素の格納・追加・取得・取消などの基本操作を解説しました。要素を順に取り出す4つの方法を覚えて、どちらの方法も使いこなしてくれればいいなと思います。またList型オブジェクトに用意されているメソッドをいくつ紹介しましたが、まだたくさんありますので、用があればぜひ検索して習得してください。

    8.  演習問題


    広告