��ーパーハカーの指摘により、
以下のパターンは順序が保持できないという抜け道が。
2012年2月2日木曜日
LinkedMultiMap
HTTPリクエストのパラメータを保持したい場合に、HashMapなどの連想配列を使うことが多いと思いますが、以下のようなパラメータの場合、HashMapが重複キーを許さないため、param2をうまく保持できないときがあります。
param1=value1¶m2=value2-1¶m2=value2-2¶m2=value2-3¶m3=value3
というわけで、重複キーを許す(順序も保持しつつ)Mapを探したところ、
apache pig の LinkedMultiMapでいけそうだったので試してみました。
-----
ソース
LinkedMultiMap<String,String> linkedmultimap =
new LinkedMultiMap<String,String>();
linkedmultimap.put("param1", "value1");
linkedmultimap.put("param2", "value2-1");
linkedmultimap.put("param2", "value2-2");
linkedmultimap.put("param2", "value2-3");
linkedmultimap.put("param3", "value3");
Set<String> keys = linkedmultimap.keySet();
Iterator<String> mapItereter = keys.iterator();
while(mapItereter.hasNext()) {
String paramKey = mapItereter.next();
List<String> list = linkedmultimap.get(paramKey);
Iterator<String> listItereter = list.iterator();
while(listItereter.hasNext()){
String value = listItereter.next();
System.out.println(paramKey + "=" + value);
}
}
-----
結果
param1=value1
param2=value2-1
param2=value2-2
param2=value2-3
param3=value3
apache pig の LinkedMultiMapでいけそうだったので試してみました。
ソース
LinkedMultiMap<String,String> linkedmultimap =
new LinkedMultiMap<String,String>();
linkedmultimap.put("param1", "value1");
linkedmultimap.put("param2", "value2-1");
linkedmultimap.put("param2", "value2-2");
linkedmultimap.put("param2", "value2-3");
linkedmultimap.put("param3", "value3");
Set<String> keys = linkedmultimap.keySet();
while(mapItereter.hasNext()) {
String paramKey = mapItereter.next();
List<String> list = linkedmultimap.get(paramKey);
while(listItereter.hasNext()){
String value = listItereter.next();
System.out.println(paramKey + "=" + value);
}
}
結果
param1=value1
param2=value2-1
param2=value2-2
param2=value2-3
param3=value3
2012年1月30日月曜日
新しいアプリがリリースされました
「日本史一問一答 室町編」というアプリをリリースしました。
http://itunes.apple.com/jp/app//id496554730?mt=8
幕末〜明治時代と比べるとマイナーな室町時代編です。
よろしくお願いします。
http://itunes.apple.com/jp/app//id496554730?mt=8
幕末〜明治時代と比べるとマイナーな室町時代編です。
よろしくお願いします。
2012年1月1日日曜日
2011年12月12日月曜日
新しいアプリがリリースされました
「日本史一問一答 幕末〜明治編」というアプリをリリースしました。
http://itunes.apple.com/jp/app//id486919997?mt=8
よろしくお願いします。
http://itunes.apple.com/jp/app//id486919997?mt=8
よろしくお願いします。
2011年2月3日木曜日
2010年12月2日木曜日
「i拍子木」のプライバシーポリシー
定義
このプライバシーポリシーは、Ogaworld Explosion
が提供するスマートフォン用アプリケーション「i拍子木」に関するサービスにおける利用者情報の取扱いを定めたものです。
情報収集モジュールの利用目的
本アプリでは、広告配信を目的として以下の広告配信事業者がご利用者の情報を自動取得する場合があります。取得する情報、利用目的、第三者への提供等については、以下の広告配信事業者のアプリケーション・プライバシーポリシーのリンクよりご確認ください。
AdMob(Google Inc.)
http://www.google.com/intl/ja/policies/technologies/ads/
連絡先
Ogaworld Explosion
ogaworldexplosion@gmail.com
2018/10/1 制定
このプライバシーポリシーは、Ogaworld Explosion
が提供するスマートフォン用アプリケーション「i拍子木」に関するサービスにおける利用者情報の取扱いを定めたものです。
情報収集モジュールの利用目的
本アプリでは、広告配信を目的として以下の広告配信事業者がご利用者の情報を自動取得する場合があります。取得する情報、利用目的、第三者への提供等については、以下の広告配信事業者のアプリケーション・プライバシーポリシーのリンクよりご確認ください。
AdMob(Google Inc.)
http://www.google.com/intl/ja/policies/technologies/ads/
連絡先
Ogaworld Explosion
ogaworldexplosion@gmail.com
2018/10/1 制定
登録:
投稿 (Atom)