对MAP 进行排序 并遍历取值

/**
	 * 对map进行降序排列
	 * @param goodsCateMap
	 * @return
	 */
	private Map<String, Long> Descending(Map<String, Long> goodsCateMap) {
		List<Map.Entry<String, Long>> list = new LinkedList<Map.Entry<String, Long>>(goodsCateMap.entrySet());
		
		Collections.sort(list, new Comparator<Map.Entry<String, Long>>() {
			public int compare(Map.Entry<String, Long> o1, Map.Entry<String, Long> o2) {
				return (o1.getValue()).compareTo(o2.getValue());
			}
		});
		Collections.reverse(list);//降序排列
		Map<String, Long> result = new LinkedHashMap<String, Long>();
		for (Map.Entry<String, Long> entry : list) {
			result.put(entry.getKey(), entry.getValue());
		}
		
		return result;
	}



/*
	 * 遍历goodsCateMap 取出前value值前3的值
	 */
	private String ergodicMap(Map<String, Long> goodsCateMap) {
		String str="";
		for (Map.Entry<String, Long> entry : goodsCateMap.entrySet()) {
			System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
			str +=  entry.getKey()+",";
		}
		String array[] = str.split(",");
		String result="";
		for(int i=0;i<array.length && i<3;i++){
			if(i==array.length-1||i==2){
				result += array[i];
			}else{
				result +=array[i]+",";
			}
		}


猜你喜欢

转载自blog.csdn.net/hiboyljw/article/details/54618503
今日推荐