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.事前準備
- Eclipseを起動し、
[ファイル(F)]→[新規(N)]→[Java プロジェクト]
を選択する。
- プロジェクト名に
Test1
と入力し、完了
ボタンをクリックする。
-
[ファイル(F)]→[新規(N)]→[クラス]
を選択する。
- パッケージと名前に
Test1
と入力し、完了
ボタンをクリックする。
-
Test1.java
が作成されたことを確認する。
- 3と同様の手順でパッケージに
Test1
、名前にHello
と入力し、完了
ボタンをクリックする。
-
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+"さん、こんにちは。");
}
}
6.GitHub
GitHubにソースコードを公開しています。