Webプログラミング研究所〜初心者・中級者Webプログラマ(CGI・Perl・PHP・Javaプログラム言語)のための支援サイト〜 「Webプログラミング研究所」TOPへ 「Webプログラミング研究所」TOPへ
 
「プログラミングサンプル集」TOPへ 「プログラミングサンプル集」TOPへ
 
目次をフレームで表示 目次をフレームで表示
 

連想配列(ハッシュテーブル)

 
概要
連想配列(ハッシュテーブル)とは、配列のインデックス部分(キーと呼びます)を文字列に変えたようなものです。
キーに対する値は1つです。ある値に対する値を取得したというような対応表(ルックアップテーブル)をプログラムで実現したいときなどに使用します。
 
Perl Perlでは、連想配列のことを通常「ハッシュ」と呼びます。
ハッシュ変数は、名称の前に"%"を付加します。

サンプルソース
%map = (                 # ハッシュ%mapに値を設定する
  "apple" => "red",      # キー「apple」に値「red」を設定
  "banana" => "yellow",  # キー「banana」に値「yellow」を設定
  "melon" => "green",    # キー「melon」に値「green」を設定
  "grape" => "purple",   # キー「grape」に値「purple」を設定
  "peach" => "pink",     # キー「peach」に値「pink」を設定
);
$param = $map{"grape"};  # キー「grape」に対する値を変数$paramに代入
print $param;            # 標準出力
ハッシュ「%map」のキーが「grape」の値を取得するときは、「$map{"grape"}」と記述します。
PHPの記述方とは異なります。キーを"[ ]"ではなく、"{ }"で囲む点に注意してください。

実行結果
purple
 
PHP PHPの場合連想配列は、名称の前に変数と同様に"$"を付加します。

サンプルソース
<?php
  $map = array(            // 連想配列$mapに値を設定する
    "apple" => "red",      // キー「apple」に値「red」を設定
    "banana" => "yellow",  // キー「banana」に値「yellow」を設定
    "melon" => "green",    // キー「melon」に値「green」を設定
    "grape" => "purple",   // キー「grape」に値「purple」を設定
    "peach" => "pink",     // キー「peach」に値「pink」を設定
  );
  $param = $map["grape"];  // キー「grape」に対する値を変数$paramに代入
  echo $param;             // 標準出力
?>
連想配列に代入する各値は、カンマで区切り、array()関数の引数にします。
連想配列 「$map」のキーが「grape」の値を取得するときは、「$map["grape"]」と記述します。
Perlの記述方とは異なります。キーを"{ }"ではなく、"[ ]"で囲む点に注意してください。

実行結果
purple
 
Java サンプルソース
import java.util.Hashtable;

public class BasicHashtable {
  public static void main(String[] args) {
    Hashtable map = new Hashtable();    // Hashtableオブジェクトを生成
    map.put("apple", "red");       // キー「apple」に値「red」を設定
    map.put("banana", "yellow");   // キー「banana」に値「yellow」を設定
    map.put("melon", "green");     // キー「melon」に値「green」を設定
    map.put("grape", "purple");    // キー「grape」に値「purple」を設定
    map.put("peach", "pink");      // キー「peach」に値「pink」を設定

    //ハッシュテーブルmapのキー「grape」の値を変数paramに代入
    String param = (String)map.get("grape");   // (※注)
    System.out.println(param);     // 標準出力
  }
}
(※注) Hashtableクラスのget()メソッドの戻り値は、Object型です。
よって、左辺のString型変数paramに代入するためには、String型にキャストする必要があります。

実行結果
purple
 
NOTE
 
ご意見箱コーナー (管理者宛てメール)
このページは、あなたの参考になりましたか?

参考になった  どちらともいえない  あまり参考にならなかった

ご意見・ご感想・ご要望がありましたら、ご記入いただければ幸いです。
今後のコンテンツ作成、ページ改善等の参考にさせていただきます。

 


Webプログラマになりたい人のためのスクール・講座情報

クリエイターの皆さん!お仕事ありますよ!フェローズに!

パソコンスクールガイド
積極的な情報収集が目標実現の近道です。

就職・起業・SOHO・それとも副業? デジハリがノウハウを伝授!

就転職に強い、資格取得スキルアップ専門校ヒューマンアカデミー

CsideNet レンタルサーバー サブドメイン型 780円/月
CGI/SSI/PHP、データベース(MySQL)が利用できます。1週間の試用期間があるのがGood!!

転職・派遣・就職・アルバイトの求人情報検索支援サイト 〜 14ALL JOB SEARCH 〜
 
 
  「Webプログラミング研究所」TOPへ 「Webプログラミング研究所」TOPへ
 
「プログラミングサンプル集」TOPへ 「プログラミングサンプル集」TOPへ
 
目次をフレームフレームで表示 目次をフレームで表示

Copyright (C) 2004 - 2005 IWAMODE Project All Rights Reserved.