0
0

More than 3 years have passed since last update.

【Java開発】第10回 ArrayList

Last updated at Posted at 2020-09-25

初めに

皆さん。こんにちは!

DreamHanksの254cmです。

今回はArrayListについて説明していきます。

Java記事のまとめはこちらです。

前回の記事は【Java開発】第9回 多次元配列です。

ArrayListクラス

ArrayListクラスとは?

ArrayListは配列と似たようなものであり、便利な機能が追加されてより柔軟に使えるクラスです。

ArrayListは配列とは異なり、長さを決めなくても使えるし、格納されるたびに長さが増えます。

ArrayListはオブジェクトしか格納できません。

宣言の書き方

ArrayList<格納したいデータのデータ型> リスト名 = new ArrayList<格納したいデータのデータ型>();

サンプル

ArrayList<String> values = new ArrayList<String>();

ArrayListの主なメソッド

image.png

arrayList.add()メソッド

public class ArraySample {                              

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

        names.add("ムギ");    //0番目に格納                  
        names.add("ココ");    //1番目に格納                  
        names.add("レオ");    //2番目に格納                  

        System.out.println(names);                      

        names.add(1, "マナ"); //1番目に挿入                  

        System.out.println(names);                      
    }                           

}                               

配列の場合、値が既に存在する位置に新しい値を挿入するには、

String x = a[1];                                
a[1] = "マナ";                                
a[2] = x;

上記のように既存の値を直接移す必要があります。

しかし、ArrayListの場合、値を特定の位置に挿入する場合、既存の値を自動に運んでくれます。

出力結果

[ムギ, ココ, レオ]
[ムギ, マナ, ココ, レオ]

arrayList.size()メソッド

public class ArraySample {          

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

        names.add("ムギ");    //0番目に格納
        names.add("ココ");    //1番目に格納
        names.add("レオ");    //2番目に格納

        System.out.println(names.size());   //namesの長さを出力
    }       
}           

出力結果

3

arrayList.set()メソッド

public class ArraySample {              

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

        names.add("ムギ");    //0番目に格納  
        names.add("ココ");    //1番目に格納  
        names.add("レオ");    //2番目に格納  

        System.out.println(names);      

        names.set(1, "マナ"); //1番目に更新  

        System.out.println(names);      
    }           
}               

出力結果

[ムギ, ココ, レオ]
[ムギ, マナ, レオ]

arrayList.get()メソッド

public class ArraySample {              

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

        names.add("ムギ");        
        names.add("ココ");        
        names.add("レオ");        

        System.out.println(names.get(0));   //0番目の値を出す    
        System.out.println(names.get(1));   //1番目の値を出す    
        System.out.println(names.get(2));   //2番目の値を出す    
    }           
}   

出力結果

ムギ
ココ
レオ

arrayList.remove()メソッド

public class ArraySample {          

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

        names.add("ムギ");    
        names.add("ココ");    
        names.add("レオ");    

        names.remove(1); //1番目を削除、2番目が1番目になる    

        System.out.println(names.get(0));   //0番目の値を出す
        System.out.println(names.get(1));   //1番目の値を出す
    }       
}

arrayListは値の削除機能が存在します。

特定の位置の値が削除されると、その以後の値はすべて1マスずつ前に移動されます。

出力結果

ムギ
レオ

arrayList.isEmpty()とarrayList.clear()

public class ArraySample {                                                      

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

        names.add("ムギ");                                                
        names.add("ココ");                                                
        names.add("レオ");                                                

        if(names.isEmpty()) {                                               
            System.out.println("namesは空いてます。");                                           
        }                                               
        else {                                              
            System.out.println("namesは空いていません。");                                         
        }                                               

        names.clear(); //すべて削除                                                

        if(names.isEmpty()) {                                               
            System.out.println("namesは空いてます。");                                           
        }                                               
        else {                                              
            System.out.println("namesは空いていません。");                                         
        }                                               

    }                                                   
}

出力結果

namesは空いていません。                                                        
namesは空いてます。  

終わりに

今回の記事は以上になります。

次回はJavaのstaticを学びましょう。

私たちの最新の記事はこちらで確認することができます。

ご覧いただきありがとうございます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0