「こんにちは、アミーゴ。今日はコレクションについてお話したいと思います。Javaでは、コレクション/コンテナとは、他の要素のコレクションを格納することを主な目的とするクラスを意味します。そのようなクラスの 1 つである ArrayList はすでにご存知でしょう。」

「Java では、コレクションは Set、List、Map の 3 つの主要なグループに分類されます。」

「それらの違いは何ですか?」

「セットから始めましょう。たくさんの靴が山に放り込まれていると想像してください。これがセットです。セットに要素を追加したり、検索したり、削除したりできます。注意すべき重要なことは、セット要素は特定の割り当てられた順序があります。」

コレクションについてのレッスン - 1

「それはあまり続かないですね…」

「ここで、壁に沿って整然と並べられた同じ靴の山を想像してください。そこには秩序があります。各要素には独自の番号があります。番号 (インデックス) に基づいてペア番号 4 を取得するだけです。これはリストです。追加することができます。」インデックスを使用するだけで、リストの先頭または途中に要素を追加したり、要素を削除したりできます。」

コレクションについてのレッスン - 2

「なるほど。地図はどうですか?」

「同じ靴を想像してみてください。しかし、それぞれの靴には、「ニック」、「ヴィック」、または「アンナ」という名前のメモがあります。これは地図 (辞書とも呼ばれます) です。各要素には独自の一意の名前が付いています。これをアドレス指定するために使用されます。各要素のこの一意の名前は、多くの場合「キー」と呼ばれます。したがって、マップはキーと値のペアのセットです。キーは文字列である必要はありません。任意の型にすることができます。キーが整数であるマップは、実際にはリストです(いくつかの違いがあります)。」

コレクションについてのレッスン - 3

「大体は理解できましたが、もっと例を見てみたいです。」

「リシが例をあげますが、私から一言付け加えたいと思います。」

「コレクションとコンテナは作成直後は何も格納しませんが、要素を 1 つずつ追加することができます。追加すると、そのサイズが動的に変化します。」

「それは興味深いですね。コレクションに含まれる要素の数をどうやって知ることができますか?」

「そのためには size() メソッドがあります。コレクションには必要なものがすべて揃っています。あと数回レッスンを続ければ、コレクションがいかに便利であるかがわかると思います。」

「そう願っています、エリー。」