0Pricing
Java Academy · レッスン

ListとSetの概要

ListとSetの違いを理解します。順序、重複、日常的な操作を扱います。シンプルな例で追加、削除、検索、反復処理を行います。

「ListとSetの概要」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。

コレクションとは何か

コレクションはオブジェクトの集合を保持します。Listは順序付きでインデックスを使い、Setは要素の所属と一意性を重視します。順序と一意性のどちらが必要かに応じて選択してください。

ListとSet — 要点

  • List:挿入順を保持し、重複を許可し、インデックスでアクセスできます。
  • Set:重複を許可しません。HashSetでは順序は保証されません。
  • シーケンスには List を、重複の排除や高速な要素の存在確認には Set を選びます。

コード:ArrayListの基礎

ArrayListは順序を保持し、重複を許可します。インデックスでアクセスでき、値またはインデックスを指定して削除できます。

public class Main {
  public static void main(String[] args) {
    java.util.List<String> items = new java.util.ArrayList<>();
    // add elements (duplicates allowed)
    items.add("apple");
    items.add("banana");
    items.add("apple"); // duplicate ok

    // access by index
    System.out.println(items.get(0)); // apple

    // remove by value and by index
    items.remove("banana");
    items.remove(0); // remove first

    // print remaining
    System.out.println(items); // [apple]
  }
}

よく使う操作

よく使う操作:

  • add(e)、remove(e)、contains(e)
  • 件数を取得するsize()
  • インデックスまたは拡張for文で反復処理する

コード:HashSetによる一意性

HashSetは重複を取り除き、要素の存在を簡単に確認できます。出力時の要素の順序は任意になる場合があります。

public class Main {
  public static void main(String[] args) {
    java.util.Set<String> tags = new java.util.HashSet<>();
    tags.add("java");
    tags.add("oop");
    tags.add("java"); // duplicate ignored

    System.out.println("size=" + tags.size()); // 2

    // membership check
    System.out.println("has oop? " + tags.contains("oop"));
    System.out.println(tags); // order not guaranteed
  }
}

コード:反復処理のパターン

位置が必要な場合はインデックスで反復処理し、要素だけが必要な場合は読みやすい拡張for文を使います。

public class Main {
  public static void main(String[] args) {
    java.util.List<String> list = new java.util.ArrayList<>();
    list.add("A"); list.add("B"); list.add("C");

    // classic for with index
    for (int i = 0; i < list.size(); i = i + 1) {
      System.out.print(list.get(i) + (i < list.size()-1 ? " " : "\n"));
    }

    // enhanced for (for-each)
    for (String s : list) {
      System.out.print("[" + s + "]");
    }
    System.out.println();
  }
}

ListとSetのチェック

クイックチェック:Java の List と Set について、正しい説明はどれですか?

まとめ

まとめ:順序付きのシーケンスにはListを、重複のない要素や存在確認にはSetを使います。練習として、List を Set に変換して重複を取り除き、順序が必要なら再び List に戻してみましょう。

よくある質問

「ListとSetの概要」レッスンは無料ですか?

はい。「ListとSetの概要」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。

「ListとSetの概要」で何を学びますか?

ListとSetの違いを理解します。順序、重複、日常的な操作を扱います。シンプルな例で追加、削除、検索、反復処理を行います。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。

「ListとSetの概要」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ListとSetの概要
  2. Iteratorと拡張for
  3. Collectionsユーティリティ
← Java Academyに戻る