public class DictionaryUtils
{
public function DictionaryUtils()
{
}
public static function forEachBySortedValue(dict:Dictionary, compare:Function, callback:Function):void {
var v:Vector.<Object> = extractValues(dict);
v.sort(compare);
for each(var value:Object in v) {
callback(value);
}
}
public static function forEachBySortedKey(dict:Dictionary, compare:Function, callback:Function):void {
var v:Vector.<Object> = extractKeys(dict);
v.sort(compare);
for each(var key:Object in v) {
callback(key, dict[key]);
}
}
public static function extractValues(dict:Dictionary):Vector.<Object> {
var v:Vector.<Object> = new Vector.<Object>();
for each(var value:Object in dict) {
v.push(value);
}
return v;
}
public static function extractKeys(dict:Dictionary):Vector.<Object> {
var v:Vector.<Object> = new Vector.<Object>();
for (var key:Object in dict) {
v.push(key);
}
return v;
}
public static function deleteAll(dict:Dictionary):void {
for (var key:* in dict)
{
delete dict[key];
}
}
public static function size(dict:Dictionary):int
{
var size:int = 0;
for (var elem:* in dict)
{
size++;
}
return size;
}
}
IT関連の技術やプログラミングを中心に記事を書いています。ハードウェアも好きなので、日々のちょっとしたお役立ち情報も投稿しています。
コメント