public static List sortMapByValue(Map map,Locale locale){
  List listSorted=Collections.EMPTY_LIST;
  if ((map != null) && !map.isEmpty()) {
    Map mapReverse=reverseStringMap(map);
    List sortedKey=sortKeyInMap(mapReverse,locale);
    listSorted=new ArrayList(sortedKey.size());
    Iterator iter=sortedKey.iterator();
    while (iter.hasNext()) {
      String key=(String)iter.next();
      listSorted.addAll((Set)mapReverse.get(key));
    }
  }
  return listSorted;
}

public static List sortMapByValue ( Map map , Locale locale ) { List listSorted = Collections . EMPTY_LIST ; if ( ( map != null ) && ! map . isEmpty ( ) ) { Map mapReverse = reverseStringMap ( map ) ; List sortedKey = sortKeyInMap ( mapReverse , locale ) ; listSorted = new ArrayList ( sortedKey . size ( ) ) ; Iterator iter = sortedKey . iterator ( ) ; while ( iter . hasNext ( ) ) { String key = ( String ) iter . next ( ) ; listSorted . addAll ( ( Set ) mapReverse . get ( key ) ) ; } } return listSorted ; }
sorts keys in a map ordered by its value ( string ) .
