LoginSignup
13
5

More than 1 year has passed since last update.

【わかりやすく解説‼】ArrayListの使い方【Java】

Last updated at Posted at 2020-04-28

1.事前知識

事前知識として、上記リンクの内容が必要です。

2.ArrayListとは

  • ArrayList とは、 Listインタフェース を実装した コレクションクラス である。
  • ArrayList は、 Array という名にあるように配列のような感覚で扱うことができる。

ArrayListと配列の違い

  • 配列 には格納できる 要素数が決まっている が、 ArrayList要素数は決まっていない
  • ArrayList は、 プリミティブ型(int, booleanなど) を入れられない。

Listメソッドの使い方

メソッド 説明 記述例              
add リストに値を追加する。 list.add(要素番号)
addAll リストにリストを追加する。       list1.add(リスト)
set リストの値を変更する。         list.set(要素番号, 代入する値)
get リストの値を取得する。     list.get(要素番号)
size  リストの要素数を取得する。       list.size()
indexOf リストから値の要素番号を取得する。 list.indexOf(検索する値)
subList   リストから範囲を指定してシャローコピーする。(※元のリストと同じデータを参照している。) subList(開始要素番号, 終了要素番号)
contains リストに値が含まれるか判定する。   list.contains(検索する値)
remove リストから指定すた要素番号の値を削除する。 list.remove(要素番号)
distinct リストの重複する値を削除する。 list.stream().distinct().collect(Collectors.toList())
clone リストをコピーする。 list.clone()
clear リストを空にする。 list.clear()

主に使用するクラス

import
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;

3.ArrayListの基本的な書き方

テストクラス
package パッケージ名;
public class メインクラス名{
    public static void main(String[] args) {
        // ArrayListの作成
        ArrayList<参照型名> 変数名 = new ArrayList<参照型名>();
    }
}
  • 基本的な ArrayList は上記のように記述します。

4.事前準備

01.png

  1. Eclipseを起動し、 [ファイル(F)]→[新規(N)]→[Java プロジェクト] を選択する。
    02.png
  2. プロジェクト名に Test1 と入力し、 完了 ボタンをクリックする。
    03.png
  3. [ファイル(F)]→[新規(N)]→[クラス] を選択する。   
    05.png
  4. パッケージと名前に Test1 と入力し、 完了 ボタンをクリックする。
    06.png
  5. Test1.java が作成されたことを確認する。
    01.png
  6. 3と同様の手順でパッケージに Test1 、名前に Hello と入力し、 完了 ボタンをクリックする。
    02.png
  7. Test1.java , Hello.java が作成されれば成功。

5.記述例

Test1.java
package Test1;
import java.util.ArrayList;
import java.util.stream.Collectors;

public class Test1 {
    public static void main(String[] args) {
    	// ArrayListの作成
    	ArrayList<Hello> hello = new ArrayList<Hello>();
    	ArrayList<Hello> subhello = new ArrayList<Hello>();

    	// ArrayListに値の追加
    	hello.add(new Hello("A"));
    	hello.add(new Hello("B"));
    	hello.add(new Hello("C"));

    	// ArrayListにリストの追加
    	subhello.addAll(hello);

    	// ArrayListの値を変更
    	hello.set(0, new Hello("D"));

    	// ArrayListの要素数
    	System.out.println("helloの要素数:"+hello.size());

    	// ArrayList同士の一致する要素番号
    	System.out.println("subhello(2)と一致するhelloの要素番号:"+hello.indexOf(subhello.get(2)));

    	// ArrayListに値が含まれるか判定する
    	System.out.println("helloに値が含まれるか:"+hello.contains(subhello.get(2)));

    	// ArrayListから指定すた要素番号の値を削除する
    	hello.remove(2);

    	// ArrayListの重複する値を削除する。
    	subhello.stream().distinct().collect(Collectors.toList());

    	// ArrayListをコピーする。
    	ArrayList<Hello> clonehello = (ArrayList<Hello>) hello.clone();

    	// ArrayListの表示
    	for(Hello h : hello) {
    		h.showGreeting();
    	}
    	System.out.println();
    	for(Hello sub : subhello) {
    		sub.showGreeting();
    	}
    	System.out.println();
    	for(Hello clone : clonehello) {
    		clone.showGreeting();
    	}
    }
}
Hello.java
package Test1;
public class Hello {
	// インスタンス変数
	String name;

	// コンストラクタ
    public Hello(String name) {
        this.name = name;
    }
    // 挨拶の表示
    void showGreeting() {
        System.out.println(name+"さん、こんにちは。");
    }
}
  • 上記の文をコピーして、文字コードは S-JIS を指定し、ファイル名を Test1.java , Hello.java で保存し、実行するとこうなります。↓↓         
    03.png

6.GitHub

GitHubにソースコードを公開しています。

7.関連

13
5
1

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
13
5