Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@DreamHanks

【Java開発】第10回 ArrayList

初めに

皆さん。こんにちは!

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
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?