Java ArrayListの使う方法を学ぼう!【List】




皆さんこんにちは新米です

Javaの学習をしていくと必ずコレクションについて学びます。

コレクションは種類が様々で、List、Set、Mapなどがあります。

初めのうちは1つずつ学んで、実際にコードを書いて覚えていくと良いでしょう!!

本記事ではJavaのコレクションフレームワークの1つ「ArrayList」について紹介していきたいと思います。

 

新米太郎
新米太郎

サンプルコードに沿って解説していきます!

そもそもArrayListとは?

ArrayListとはListインターフェースを実装したコレクションクラスで役割は配列に似ています。

>>配列がまだ微妙だなと思う方はこちら

 

しかしArrayListは配列と似ていますが、要素の重複が可能で要素数の変更が可能です。

配列だと要素数は固定ですが、リストは要素の追加・削除・が自由に行えます。

 

配列とListの違い

配列

List

要素数は固定

要素数の変更が可能

 

新米太郎
新米太郎

後で配列の要素を追加したり削除したりする場合はArrayListを使うのが良いです。

 

ArrayListの書き方

ArrayListの宣言

ArrayList<型> リスト名 = new ArrayList<型>();

格納する要素のデータ型を<>内に指定します。しかし注意する点が1つあります。

 

リストの要素は参照型なので、intのような基本データ型を要素にもつリストは作成できません。

 

そのため、下記のようにラッパークラスを使用します。

ArrayListは基本型NG

ArrayList<int> intList = new ArrayList<int>();

 

ArrayListは参照型OK

ArrayList<Integer> intList = new ArrayList<Integer>();

 

>>基本型、ラッパークラスがわからない方はこちら

ArrayListを書いてみよう。

新米太郎
新米太郎

ArrayListの宣言の仕方も分かったところで実際に書いてみましょう。

 

ArrayListに限らず、コレクション関連の各クラスやインターフェースはjava.utilパッケージに含まれているので、使用する際はjava.utilパッケージをインポートします。

要素の格納と取得

[サンプルコード]

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
      
      // Stringの要素を格納するためのリストを用意
      ArrayList<String> name = new ArrayList<String>();
    
      // 要素の格納
      name.add("有留");
      name.add("市川");
      name.add("サナダ");
      name.add("小泉");
    
      // 追加した順に出力
      System.out.println(name);
      
      // 部分的に取得したい
      System.out.println(name.get(2));
    }
}

 

実行結果

[有留, 市川, サナダ, 小泉] サナダ
  • 要素を格納するときはadd()メソッドを使用します。
  • 要素の取得はget()メソッドを使用します。



要素の重複追加

[サンプルコード]

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
      
      // Stringの要素を格納するためのリストを用意
      ArrayList<Integer> number = new ArrayList<Integer>();
    
      // 要素の格納
      number.add(10);
      number.add(20);
      number.add(30);
      number.add(40);
      number.add(3,10);// 添え字の3に10を追加
      
      //number.add(“サナダ”);

    
      // 追加した順に出力
      System.out.println(number);
 
    }
}

実行結果

[10, 20, 30, 10, 40]

 

添え字(インデックス)を指定して値を追加することができます。

今回、16行目は文字列を格納しようとしている為
コメントを外すと下記のようにコメントエラーになります。

エラー例

Main.java:16: error: incompatible types: String cannot be converted to Integer
number.add(“サナダ”);
新米太郎
新米太郎

宣言した参照型と要素が異なるからエラーになるんだね!

新米先生
新米先生

その通り。ここら辺は配列と同じですね。

まとめ

いかがだったでしょうか。

今回はコレクションの中でもよく使われるArrayListについて解説しました。

覚えるポイントとしては、配列との違いをしっかり理解しましょう。

また、コードを書いて理解度を深めていってくださいね!

Mapについての記事も紹介しています。よければどうぞ!

【Java】HashMapの使い方を解説(連想配列)
今回はHashMapの使い方についてサンプルコードを題材にして、紹介したいと思います。 HashMapは配列とよく並んで使われます。HashMapは配列の機能と似ており、キーでデータを扱う事が特徴です。またHashMapは連想配列とも言われます。




コメント

タイトルとURLをコピーしました