基于地图值和比较器的Java地图分类方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于地图值和比较器的Java地图分类方法相关的知识,希望对你有一定的参考价值。
/** * A helper method that sorts the map sent, based on sorting its values * using the comparator passed with it * * @param input The map to be sorted * @param comparator the comparator to be used to sort the map values * * @return A new Sorted HashMap that holds the values * * @author DKasem * @since Feb 15, 2010 * @version 0.4.2 */ public static <T,E> Map<T, E> sortMap(final Map<T, E> input,Comparator<E> comparator){ Map<T, E> tempMap = new HashMap<T, E>(); for (T wsState : input.keySet()){ tempMap.put(wsState,input.get(wsState)); } List<T> mapKeys = new ArrayList<T>(tempMap.keySet()); List<E> mapValues = new ArrayList<E>(tempMap.values()); // Resultant map HashMap<T, E> sortedMap = new LinkedHashMap<T, E>(); List<E> sortedList = new ArrayList<E>(mapValues); for (int i=0; i<sortedList.size(); i++){ sortedMap.put(mapKeys.get(mapValues.indexOf(sortedList.get(i))),(E)sortedList.get(i)); } return sortedMap; }
以上是关于基于地图值和比较器的Java地图分类方法的主要内容,如果未能解决你的问题,请参考以下文章
开源java游戏框架libgdx专题-13-开发工具-地图的使用