Javaプログラミング/Javaの基本

コレクション・フレームワーク

Javaでは、複数のオブジェクトを管理するのに「コレクション・フレームワーク」と呼ばれるものを使います。その基本について理解しましょう。

執筆者:掌田 津耶乃

配列の限界とコレクション・フレームワーク


Javaでは、多数の値を管理するのに配列を用いますが、この配列、いささか柔軟性にかけるところがあります。例えば、要素数を途中で増減したりできませんし、決まったタイプの値しか保管しておけません。

こういうときに用いられるのが、「コレクション・フレームワーク」と呼ばれるものです。これは、多数のオブジェクトを扱うために用意されたクラス群です。さまざまな特徴を持ったクラスがあり、用途に応じて利用できるようになっています。

コレクション・フレームワークのクラスは、大きく整理すると、以下のようなものがあります。

・リスト――オブジェクトを順序付けて管理するものです。保管した並び順通りにオブジェクトが整理されます。
・マップ――「キー」と呼ばれる値にオブジェクトを関連付けて管理します。それぞれのキーに1つずつオブジェクトが保管されます。キーは、同じものが複数存在しないことが保障されています。常に、ある値のキーは1つあるか、存在しないかです。
・セット――重複要素のないオブジェクトを管理するものです。この中には、同じオブジェクトが複数存在しないことが保証されています。
・イテレータ――オブジェクトを反復処理するためのものです。これ自体をオブジェクトの管理に使うというより、必要に応じて、コレクション・クラスからイテレータを取り出し、反復処理したりして利用します。

ずいぶんといろいろなものがあることがわかりますね。それぞれ特徴がありますが、すぐにすべてのものを理解する必要はありません。まずは基本となるリストのクラス「ArrayList」から使っていきましょう。

なお、コレクション関係のクラスは、java.utilというパッケージに用意されています。ですから、これらのクラスを利用する際には、このパッケージのクラスをimportするのを忘れないようにしましょう。

ArrayListを使う


コレクションでもっとも多用されるのは、オブジェクトを順番に管理するリストのクラスでしょう。リストでもっとも一般的に使われるのは「ArrayList」というクラスです。これは、さまざまなオブジェクトを入れ、順に取り出したりすることができます。

package jp.allabout;

import java.util.*;

public class SampleApp {

  public static void main(String[] args) {
    ArrayList list = new ArrayList();
    list.add("Hello");
    list.add(123);
    list.add(false);
    
    for(Object obj:list){
      System.out.println(obj);
    }
  }
  
}

テキスト、整数、真偽値をArrayListに収めて出力する。

ここでは、まず「new ArrayList」でArrayListインスタンスを作成していますね。そして、その後の「add」というメソッドを使い、"Hello"、123、falseといった値をArrayListに収めています。addは、引数に指定したオブジェクトを自身に追加する働きをします。

そして繰り返し部分でオブジェクトを取り出しています。ここではfor(Object obj:list)という形でArrayListの中のオブジェクトを順にobjに代入しています。ArrayListなどのコレクション・フレームワークのクラスは、このように「オブジェクトを順に取り出すためのfor」で使うことができるのです。この他、ArrayListでは「get( 番号 )」という形で、インデックス番号を指定してオブジェクトを取り出すメソッドも用意されています。
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます