Javaコレクション: データのグループ化と操作

Javaコレクションはデータのグループ化や操作をするための便利な機能です。この記事では、Javaコレクションの基本概念と使用方法について解説します。

目次

  1. Javaコレクションとは
  2. リスト(List)
  3. セット(Set)
  4. マップ(Map)
  5. イテレータ(Iterator)
  6. ストリーム(Stream)

1. Javaコレクションとは

Javaコレクションは、複数のデータを持つオブジェクトのグループを表現するための一連のインターフェースと実装クラスを提供します。このフレームワークは以下の主要なインターフェースで構成されています。

  • Collection: データのグループの基本インターフェース
  • List: 順序付けられたデータのシーケンスを表すインターフェース
  • Set: 重複しないデータの集合を表すインターフース
  • Map: キーと値のペアを保持するマップ(辞書)機能を提供するインターフェース

2. リスト(List)

リストは、順序付けられたデータのシーケンスを表す、Javaコレクションの中で最も一般的な概念です。

21 ArrayListの使用

ArrayListは、動的にサイズが変わる配列を実装するためのクラスです。

import java.util.ArrayList;
import java.util.List;

public class JavaCollectionsExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();

        list.add("apple");
        list.add("banana");
        list.add("orange");

        for (String fruit : list) {
            System.out.println(fruit);
        }
    }
}

3. セット(Set)

セットは、重複しないデータの集合を表します。セットを使うことで、データの重複を検出や削除が容易になります。

3.1 HashSetの使用

HashSetは、ハッシュテーブルを使用して要素を格納する、データの重複を許さないクラスです。

import java.util.HashSet;
import java.util.Set;

public class JavaCollectionsExample {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();

        set.add("apple");
        set.add("banana");
        set.add("orange");
        set.add("apple");

        for (String fruit : set) {
            System.out.println(fruit);
        }
    }
}

4. マップ(Map)

マップは、キーと値のペアを格納するコレクションインターフェースです。キーは一意であり、それに対応する値にマップされます。

4.1 HashMapの使用

HashMapは、ハッシュテーブルを使用してキーと値を処理するマップクラスです。

import java.util.HashMap;
import java.util.Map;

public class JavaCollectionsExample {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();

        map.put("apple", 3);
        map.put("banana", 5);
        map.put("orange", 2);

        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

5. イテレータIterator

イテレータは、コレクションの要素を順番に処理するためのインターフェースです。

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class JavaCollectionsExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("orange");

        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
}

6. ストリーム(Stream)

ストリームは、Java 8から導入された、コレクションを効率的に操作するための機能です。

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class JavaCollectionsExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("orange");

        list.stream()
            .filter(s -> s.startsWith("a"))
            .forEach(System.out::println);
    }
}

これで、Javaコレクションの基本的な概念と使用方法が学べました。これらの基本概念を活用し、Javaでデータ構造を効率的に操作しましょう。