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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ListとSetの概要
- Iteratorと拡張for
- Collectionsユーティリティ