連想配列のソート

  • キーに文字列、値に数値をもつ連想配列 hashmap について考える
  • 対応する数値でキーを降順にソートした配列を返す関数 sort_hashmap を定義する
def sort_hashmap(hashmap)
  hashmap.sort_by {|(k, v)| v }.map {|(k, v)| k }
end

hashmap = {'VimL' => 12, 'Shell' => 345, 'Ruby' => 6789}
sort_hashmap(hashmap)
def sort_hashmap(hashmap):
  array = [(k, v) for k, v in hashmap.iteritems()]
  array.sort(lambda x, y: cmp(x[1], y[1]))
  return array

hashmap = {'VimL':12, 'Shell':345, 'Ruby':6789}
sort_hashmap(hashmap)

コレクションの扱いにおいてRubyが優れていると断言する。