English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基础教程

Java 流程制御

Java 配列

Java 面向オブジェクト(I)

Java 面向オブジェクト(II)

Java 面向オブジェクト(III)

Java 例外処理

Java List

Java Queue(キュー)

Java Map集合

Java Set集合

Java入出力(I/O)

Java Reader/Writer

Javaの他のトピック

Java リスト(List)

このチュートリアルでは、JavaのListインターフェースとそのメソッドについて学びます。

Javaでは、Listインターフェースは並列な集合であり、要素を順序付けして格納およびアクセスを許可します。それは集合インターフェースを拡張しています。

Listを実装するクラス

Listはインターフェースであるため、その中からオブジェクトを作成することはできません。

Listインターフェースの機能を使用するために、以下のクラスを使用できます:

これらのクラスはCollectionsフレームワークで定義され、Listインターフェースを実装しています。

Listはどう使用するか?

Javaでは、Listの機能を使用するにはjava.util.Listパッケージをインポートする必要があります。

//ListのArrayList実装
List<String> list1 新しいArrayList<>()をインスタンス化します。
// ListのLinkedList実装
List<String> list2 新しいLinkedList<>()をインスタンス化します。

ここでは、ArrayListおよびLinkedListクラスのオブジェクトlistを既に作成しています1およびlist2。これらのオブジェクトは、今やListインターフェースの機能を使用できます

Listメソッド

Listインターフェースには、Collectionインターフェースのすべてのメソッドが含まれています。これは、CollectionがListのスーパーオブジェクトであるためです

Collectionインターフェースでは、いくつかの一般的なListインターフェースメソッドも提供されています:

  • add() - 要素をリストに追加します

  • addAll() - 1つのリストのすべての要素を別のリストに追加します

  • get() - リストからランダムにアクセスするのに役立ちます

  • iterator() - イテレーターオブジェクトを返します。このオブジェクトを使用してリストの要素を順序にアクセスできます

  • set() - リストの要素を変更します

  • remove() - リストから1つの要素を削除します

  • removeAll() - リストからすべての要素を削除します

  • clear() - リストからすべての要素を削除します(removeAll()よりも効率が良くなります)

  • size() - リストの長さを返します

  • toArray() - リストを配列に変換します

  • contains() -  リストに指定された要素が含まれている場合、trueを返します

Listインターフェースの実現

1.ArrayListクラスを実現します

import java.util.List;
import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        //ArrayListクラスを使用してリストを作成します
        List<Integer> numbers = new ArrayList<>();
        //要素をリストに追加します
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("リスト: 「" + numbers);
        //リストから要素をアクセスします
        int number = numbers.get(2);
        System.out.println("アクセスする要素: 「" + number);
        //リストから要素を削除します
        int removedNumber = numbers.remove(1);
        System.out.println("要素の削除: " + removedNumber);
    }
}

出力結果

List: [1, 2, 3]
要素のアクセス: 3
要素の削除: 2

ArrayListについてもっと詳しく知りたい場合は、以下を訪問してくださいJava ArrayList

2.LinkedListクラスを実現します

import java.util.List;
import java.util.LinkedList;
class Main {
    public static void main(String[] args) {
        //LinkedListクラスを使用してリストを作成します
        List<Integer> numbers = new LinkedList<>();
        //要素をリストに追加します
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("リスト: 「" + numbers);
        //リストから要素をアクセスします
        int number = numbers.get(2);
        System.out.println("アクセスする要素: 「" + number);
        //indexOf()メソッドを使用します
        int index = numbers.indexOf(2);
        System.out.println("位置"3の要素は「" + index);
        //リストから要素を削除します
        int removedNumber = numbers.remove(1);
        System.out.println("要素の削除: " + removedNumber);
    }
}

出力結果

List: [1, 2, 3]
要素のアクセス: 3
位置3の要素は 1
要素の削除: 2

LinkedList についてもっと詳しく知りたい場合は、以下のURLにアクセスしてくださいJava LinkedList

Java List と Set

List インターフェースと Set インターフェースは Collection インターフェースを継承していますが、いくつかの違いがあります。

  • List には重複の要素を含むことができますが、Set には重複の要素を持つことはできません。

  • List 内の要素はある順序で保存されていますが、Set 内の要素は数学の集合のようにグループで保存されています。

今では List が何かを知っていますので、次のチュートリアルでは ArrayList クラスと LinkedList クラスの実装について詳しく説明します。