- Key と Value のペアを扱う方法について。
Java
- Map の実装クラスを使う。K,V ともにインスタンスでなければならない。
- プリミティブ型はラップしなければならないが、Java5以降は変換される。
//総称使った方がソースも読みやすいので Java5以降を想定して書きます
Map<String,Integer> name2old = new LinkedHashMap(); //Key群を取り出すときは追加した順になる実装
name2old.put("山田さん", new Integer(52));
name2old.put("山田さん", 48); //Integer にラップされる。key が equals であれば value も置き換わる
name2old.put("川上さん", 32); //同上
//keySet メソッドは Set インスタンスを返す。このソースの場合 Set<String> になる
for (String name : name2old.keySet()) {
int old = name2old.get(name); //返り値は Integer だが int への代入なので自動的に剥かれる
}
Map<キーのデータ型, データのデータ型> マップの名前 = new HashMap<キーのデータ型, データのデータ型>();
マップに要素を追加する場合
マップの名前.put("キー,データ");
PHP
数字ではなく文字のキーをもとにして値を設定した配列を連想配列と呼びます。文字列を多く扱うPHPではほとんどの場合、配列が連想配列になります。
PHP labo
<?php
$fruit = array("apple" => "リンゴ", "orange" => "ミカン", "grape" => "ブドウ");
echo $fruit["apple"];
echo $fruit["orange"];
echo $fruit["grape"];
?>
foreach文(連想配列)
キーと値を同時に取り出し、かつ配列の長さ分実行させることができます。
$preflist = array('Tokyo' => '東京', 'Osaka' => '大阪');
foreach ($preflist as $key => $value){
print $key.'=>'.$value;
}
//Tokyo => 東京
//Osaka => 大阪
javascript
- ※不正確。なんかこんな感じの。サンプルコードみつけてみてください。
var map = (
'山田さん'=>48,
'川上さん'=>32
);
//foreach への適用例もよろしく。
var myObj = { key1: 'value1' , key2: 'value2' };
または
var myObj = new Object();
myObj['key1'] = 'value1';
myObj['key2'] = 'value2';
値を取り出すには
document.write(myObj['key1']);
forin文でループ(javascriptではforeachの代わりになりやすい?)
for (var keyString in myObj) {
document.write( myObj[keyString] );
}
最終更新:2013年06月18日 09:43