工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java ArrayList完全マスター:操作・メソッド・ベストプラクティス

Java ArrayListクラス

JavaのArrayListの全機能を解説:作成、操作、イテレーションを実例でマスター。

ArrayListクラスはJavaコレクションフレームワークの一部で、Listインターフェースを実装し、可変長配列データ構造を提供します。静的配列とは異なり、要素の追加・削除時に容量を自動調整するため、動的配列として機能します。

Java ArrayList完全マスター:操作・メソッド・ベストプラクティス

ArrayList vs 配列

従来の配列は宣言時に固定サイズが必要で柔軟性に欠けます。ArrayListはオンデマンドでリサイズすることでこの制限を克服し、効率的な動的データ処理を実現します。


ArrayListの作成

使用前にクラスをインポート:

import java.util.ArrayList;

要素型を指定してインスタンス化:

// Integer型 ArrayList ArrayList<Integer> intList = new ArrayList<>(); // String型 ArrayList ArrayList<String> strList = new ArrayList<>();

注意:ジェネリクスはプリミティブ型をサポートしないため、ラッパークラス(intならInteger)を使用します。


例:ArrayListの作成

import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("Python"); languages.add("Swift"); System.out.println("ArrayList: " + languages); } }

出力

ArrayList: [Java, Python, Swift]

ArrayListの基本操作

要素の追加、アクセス、変更、削除といったコア操作を簡潔なコードスニペットで紹介します。


1. 要素の追加

単一要素を末尾に追加:

ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("C"); languages.add("Python"); System.out.println("ArrayList: " + languages);

出力

ArrayList: [Java, C, Python]

特定インデックスに挿入:

languages.add(1, "JavaScript"); languages.add(3, "C++");

コレクションから全要素を追加:

import java.util.ArrayList; import java.util.HashSet; class Main { public static void main(String[] args) { HashSet<String> vowels = new HashSet<>(); vowels.add("a"); vowels.add("e"); vowels.add("i"); ArrayList<String> alphabets = new ArrayList<>(); alphabets.addAll(vowels); System.out.println("ArrayList: " + alphabets); } }

出力

ArrayList: [a, e, i]

2. 要素のアクセス

インデックスで取得:

ArrayList<String> animals = new ArrayList<>(); animals.add("Cat"); animals.add("Dog"); animals.add("Cow"); String str = animals.get(1); System.out.print("Element at index 1: " + str);

出力

Element at index 1: Dog

必要に応じてIteratorでイテレーションも可能。


3. 要素の変更

既存要素を置換:

ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("Kotlin"); languages.add("C++"); languages.set(2, "JavaScript"); System.out.println("Modified ArrayList: " + languages);

出力

Modified ArrayList: [Java, Kotlin, JavaScript]

4. 要素の削除

インデックス指定で削除:

ArrayList<String> animals = new ArrayList<>(); animals.add("Dog"); animals.add("Cat"); animals.add("Horse"); String removed = animals.remove(2); System.out.println("Updated ArrayList: " + animals); System.out.println("Removed Element: " + removed);

出力

Updated ArrayList: [Dog, Cat] Removed Element: Horse

clear()で全削除、removeAll()で範囲削除も可能。


よく使うArrayListメソッド

基本的なCRUD操作以外で頻繁に使われるメソッド:

メソッド説明
size()要素数を返す
sort()リストをソート
clone()シャローコピーを作成
contains()要素の存在確認
ensureCapacity()容量を事前確保
isEmpty()空かどうか判定
indexOf()最初の出現インデックスを取得

完全なリストは公式ArrayList APIを参照。


拡張for文でのイテレーション

ArrayList<String> animals = new ArrayList<>(); animals.add("Cow"); animals.add("Cat"); animals.add("Dog"); for (String animal : animals) { System.out.print(animal + ", "); }

出力

Cow, Cat, Dog, 

よくある質問

Java ArrayListとLinkedListの違いは?

ArrayListLinkedList
Listインターフェースを実装List、Queue、Dequeを実装
単一の連続メモリブロックnext/prev参照を持つノード
ランダムアクセス O(1)シーケンシャルアクセス O(n)
動的にリサイズ動的にリサイズ

ArrayListを配列に変換するには?

String[] arr = new String[languages.size()]; languages.toArray(arr);

配列をArrayListに変換するには?

ArrayList<String> list = new ArrayList<>(Arrays.asList(arr));

ArrayListを1行で作成・初期化するには?

ArrayList<String> list = new ArrayList<>(Arrays.asList("Java", "Python", "C"));

ArrayListをStringに変換するには?

String str = languages.toString();

Listインターフェースを使ってArrayListを作るには?

List<String> list = new ArrayList<>();

Java

  1. Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
  2. Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
  3. Java Staticネストクラスの理解:用法、違い、実例
  4. Java無名インナークラス完全ガイド:定義、構文、実践例
  5. Javaシングルトンパターン完全解説:安全な実装と活用法
  6. Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
  7. Java Vectorの理解:使い方、特徴、ArrayListとの比較
  8. Javaコレクションアルゴリズム完全ガイド:ソート、シャッフル、検索など
  9. Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
  10. Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
  11. Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除