基于地图值和比较器的Java地图分类方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于地图值和比较器的Java地图分类方法相关的知识,希望对你有一定的参考价值。

  1.  
  2. /**
  3. * A helper method that sorts the map sent, based on sorting its values
  4. * using the comparator passed with it
  5. *
  6. * @param input The map to be sorted
  7. * @param comparator the comparator to be used to sort the map values
  8. *
  9. * @return A new Sorted HashMap that holds the values
  10. *
  11. * @author DKasem
  12. * @since Feb 15, 2010
  13. * @version 0.4.2
  14. */
  15. public static <T,E> Map<T, E> sortMap(final Map<T, E> input,Comparator<E> comparator){
  16. Map<T, E> tempMap = new HashMap<T, E>();
  17. for (T wsState : input.keySet()){
  18. tempMap.put(wsState,input.get(wsState));
  19. }
  20.  
  21. List<T> mapKeys = new ArrayList<T>(tempMap.keySet());
  22. List<E> mapValues = new ArrayList<E>(tempMap.values());
  23.  
  24. // Resultant map
  25. HashMap<T, E> sortedMap = new LinkedHashMap<T, E>();
  26.  
  27. List<E> sortedList = new ArrayList<E>(mapValues);
  28. Collections.sort(sortedList,comparator);
  29. for (int i=0; i<sortedList.size(); i++){
  30. sortedMap.put(mapKeys.get(mapValues.indexOf(sortedList.get(i))),(E)sortedList.get(i));
  31. }
  32. return sortedMap;
  33. }

以上是关于基于地图值和比较器的Java地图分类方法的主要内容,如果未能解决你的问题,请参考以下文章

java怎么调用地图获取地理位置信息

开源java游戏框架libgdx专题-13-开发工具-地图的使用

想用java 做一个平台,能够调用百度或谷歌地图并在地图上显示定位位置和轨迹回放,涉及java 的那些知识

珊格地图笔记

学术交流 | 地图线状要素眼动识别的朴素贝叶斯方法

高德地图计算两坐标之间距离