「言葉で配列を操作する」連想配列とは?HashMapの使い方

「言葉で配列を操作する」連想配列とは?HashMapの使い方

プログラムで複数のデータを扱うときには配列を用いますが、配列要素に格納されているデータを参照する際は、要素を添え字(インデックス)で指定する必要がありました。しかし、Javaの連想配列では、その代わりに言葉(文字列)で指定します。
今回は文字列で配列を操作する連想配列の概要と、HashMapの使い方についてご紹介します。

IT業界まるわかりガイドは、日本初Web専門スクールのインターネット・アカデミーが運営する業界情報メディアです。最新の業界情報を、初心者にも分かりやすくご紹介しています。

目次

連想配列とは

連想配列とは

Javaでは、配列の各要素に格納したデータを「配列名[インデックス]」で参照できます。ただし、インデックスでしか参照できないため、データと関連する名前でデータを探すといった使い方はできません。こうした問題点を解決する仕組みが連想配列です。Javaでは連想配列を実現するためにHashMapというクラスを持っています。

連想配列ではインデックス部分に文字列(キー)を設定し、キーに対応する要素のデータを参照します。データの追加や削除もキーを使って行います。連想配列はデータと文字列を関連づけて管理できるため、データの管理がしやすいというメリットがあります。

HashMapとは

HashMapとは

HashMapを使うことで格納されたデータとキーがひもづけられ、参照できるようになります。配列要素に同じデータが存在してもかまいません。なお、既存キーの要素にデータを格納した場合、元のデータは上書きされます。

例えば、商品の販売価格をデータ、商品名をキーとして設定した場合、商品名から販売価格を参照することができます。「150」というデータに対して「キャベツ」、「500」というデータに対して「レタス」とキーを設定すれば、「キャベツ」から「150」、「レタス」から「500」というデータを参照可能です。

JavaのHashMapは「ハッシュ表」と呼ばれる配列を用意し、この中でキーの管理を行っています。ハッシュ表のサイズはあらかじめ決まっており、初期値は16です。格納するデータが12個(=初期値16×負荷係数0.75)を超えると、ハッシュ表の拡張が行われるため、データあふれを心配する必要はありません。

しかし、極端なサイズの拡張はパフォーマンスの低下につながるため、サイズが分かっているときはサイズを設定することをおすすめします。

HashMapの使い方

HashMapの使い方

HashMapの具体的な使い方を理解するため、ここでは野菜の販売価格を野菜の名前にひもづけ、格納や取り出し、削除を行ってみます。なお、HashMapを使うときは、java.util.HashMapのインポートが必要です。

HashMapクラスのオブジェクトを作成

最初にHashMapクラスのオブジェクトを作成します。

【例】

int型のキーとString型のデータを持つオブジェクトmapを作成
HashMap<int, String> map = new HashMap<int, String>();

HashMapクラスのオブジェクトの作成と併せて、ハッシュ表のサイズを指定する場合は右辺のかっこに整数値を記述します。

【例】

上記と同じ条件で、ハッシュ表のサイズを50に設定
HashMap<int, String> map = new HashMap<int, String>(50);

データの格納と取り出し

データの格納にはputメソッド、取り出しにはgetメソッドを用います。putメソッドではキーを第1引数、データを第2引数に指定します。一方、getメソッドではキーを引数に指定します。

【例】

map.put("キャベツ",150);
map.put("レタス",500);

map.get("キャベツ");
map.get("レタス");

データの削除

データを削除するときはremoveメソッドを用います。キーを引数に指定します。

【例】

map.remove("キャベツ");
map.remove("レタス");

おわりに

連想配列は、データを効率良く管理できる便利な機能です。ぜひ使いこなせるようになりましょう。実際にコードの記述と実行結果の確認を繰り返し、連想配列の仕組みをしっかりと理解することが大切です。
インターネット・アカデミーでは、業界の第一線で活躍するプログラマーから、開発現場で役立つ実践的知識を学ぶことができます。Javaを勉強してキャリアアップをしたいという方は、Java講座の受講をご検討ください。

関連講座

Java講座 ITエンジニア総合コース

Web業界への就転職・キャリアアップを成功させたいと考えている方へ
日本初そして日本唯一のWeb専門スクールインターネット・アカデミー

自分にぴったりのコースが見つかる

インターネット・アカデミーでは、Web業界を目指すあらゆる方にお応えすべく、多彩なコースをご用意しています。

Webデザインを学びたい方

プログラミングを学びたい方

自分のペースとスタイルで学べる

毎回好きな受講形式を選んで学習することができるので、働きながらじっくり通いたい方も短期間での就職を目指す方も自分の都合に合わせて、スケジュールを組むことができます。

  • ライブ授業

    現役のプロインストラクター
    と仲間と学ぶメリット

    ライブ授業
  • マンツーマン授業

    インストラクターと
    1対1という贅沢

    マンツーマン授業
  • オンデマンド授業

    いつでも学びたいことを
    学べる

    オンデマンド授業

自分に適した学習方法を探す

インターネット・アカデミーでは、無料体験レッスンを毎日開催しています。デザインやプログラミングの体験ができるのはもちろん、実際の授業に参加したり、就職や転職のご相談、通学スケジュールのご相談なども承っております。

  • ご要望をお伺い

    ご要望をお伺い

    まずはお客様のご要望をお伺いし、お一人おひとりの目的や悩みに最適な内容にカスタマイズ。お客様専用の内容で当日ご案内いたします。

  • カウンセリング

    カウンセリング

    就職や転職、在宅で働きたいなど、お客様の希望を叶えるために専任のスタッフが最適な学習プランをご提案。現在の仕事のご相談なども承ります。

  • 体験レッスン

    体験レッスン

    「自分に向いている分野は?」「自分にできる?」そんな疑問を解決するレッスンを無料で体験。デザインもプログラミングもお試しいただけます。

無料体験レッスン・個別相談のご予約

当日ご希望の方やお急ぎの方は、フリーダイヤルにてご予約いただけます。

0120-746-555 フリーダイヤル受付時間(平日・土日) 10時-21時 オンライン予約

IT研修・人材育成のご相談を無料で承っております
法人専用社員研修、内定者・新人研修のご予約

インターネット・アカデミーでは、
あらゆるニーズに合わせた研修カリキュラムを取り揃えています。

「自社に最適な研修プランを相談したい」「研修費用の相談をしたい」「助成金を申請したい」など、お電話またはお問い合わせフォームよりお気軽にご連絡ください。

03-3341-3781 受付時間(平日・土日) 10時-21時 法人専用 お問い合わせフォーム