`
heipark
  • 浏览: 2079620 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java Map根据Key和value排序的代码

    博客分类:
  • Java
 
阅读更多
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;

import org.junit.Test;

public class MapSortTest {

	static Map<String, Integer> MAP = new HashMap<String, Integer>();

	static {
		MAP.put("ab", 27);
		MAP.put("aa", 25);
		MAP.put("c", 30);
		MAP.put("e", 21);
		MAP.put("d", 22);
	}

	@Test
	public void sortByKey() {
		TreeMap<String, Integer> treeMap = new TreeMap<String, Integer>(MAP);

		for (String key : treeMap.keySet()) {
			System.out.printf("key:%s, value:%d\n", key, MAP.get(key));
		}
	}

	@Test
	public void sortByValue() {
		ArrayList<Entry<String, Integer>> entries = new ArrayList<Entry<String, Integer>>(MAP.entrySet());
		Collections.sort(entries, new Comparator<Map.Entry<String, Integer>>() {
			public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
				return (o2.getValue() - o1.getValue()); // 降序
			}
		});

		for (Entry<String, Integer> entry : entries) {
			System.out.printf("key:%s, value:%d\n", entry.getKey(), entry.getValue());
		}
	}
}

 

--end

 

分享到:
评论

相关推荐

    java8 stream 操作map根据key或者value排序的实现

    主要介绍了java8 stream 操作map根据key或者value排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Java Map 按key排序和按Value排序的实现方法

    下面小编就为大家带来一篇Java Map 按key排序和按Value排序的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java中Map数据处理公共方法MapUtils

    Map是Java中最天才的设计,使用起来也很灵活,该类总结了Map通过key和value进行升序和降序排序,Map的两种遍历的公共方法以及上面功能的测试方法

    Java中实现参数名ASCII码从小到大排序(字典序).doc

    此代码为工具类代码,可直接下载使用,调用此方法将需要排序的参数传入即可

    java中set、list和map的使用方法实例

    // java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...

    List<Map>中英文排序

    支持一个List&lt;Map&gt;按照MAP中的一个或者多个Key的value值的中英文来排序,自动识别字符和数字(包括[a-zA-z]?[0-9]*)排序

    java程序-HashMap排序

    先根据value的值从小到大排序,value相同再根据key的字母顺序来排序

    Java词频统计算法(使用单词树)

    为了统计词汇出现频率,最简单直接的做法是另外建一个Map:key是单词,value是次数。将文章从头读到尾,读到一个单词就到Map里查一下,如果查到了则次数加一,没查到则往Map里一扔。这样做虽然代码写起来简单,但...

    浅谈JsonObject中的key-value数据解析排序问题

    1、JsonObject中的数据是key-value形式,通过JsonObject的keys方法得到key的迭代器是无序的,要想实现排序,目前只能通过加装一层处理(方法来自Stack Overflow,感谢大神),将key-vlaue放入ThreeMap排序,排序规则...

    Java中的Map接口——学习小结

    Map是Java集合中的三大接口之一,其存储形式为键(Key)值(Value)对,是程序开发中大部分数据存储时 所采用的存储形式。如:MySQL、JSON、XML。 Map形式称为双边队列,即Key与Value互相对应。但需要注意:Key是...

    java summary(java笔记)

    学习java的一些笔记和个人总结 9、Collection 和 Collections的区别。  Collection是集合类的上级接口,继承与他的接口主要有Set 和List.。Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种...

    set.list.map接口

    1. Set(集合)里面的元素是无序的,但没有重复的元素 2. 两个实现类HashSet(LinkHashSet)和TreeSet,TreeSet有排序功能(Set set=...//根据键key得到value的值 System.out.println(key+"---"+value); } } }

    java遍历特例

    java Map 遍历方法 Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); ...

    Java中的Map集合

    1 Map双边队列 1.1 什么是Map 键(Key)值(Value)对 比如:表格:  键 :值  姓名:嘟嘟  年龄:16  性别:男 程序开发大部分数据都是键值对形式的 ... Map双边队列中键(Key)是唯一的,但是值(Value)可以重复 1

    Java工具库BeanQuery.zip

    执行完以上代码后,result列表中的每个Map都是java.util.LinkedHashMap实例,每个Map的都由下面的这三个Entry组成: key=price, value=book.getPrice() key=name, value=book.getName() key=...

    数据分析—排序.pdf

    使⽤⾃定义 key 作为 map 输出的 key 类型 ⽅案⼆:⾃定义排序规则 1. ⾃定义类继承 WritableComparator 2. 重写⽗类⽆参构造⽅法,指定 key 的类型 super(Text.class, true); 3. 重写⽗类 compare...

    Java 入学考试题

    2、编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。 3、请说明Java中字符'\'的含义,有什么作用? 4、写一个方法,此方法可将obj对象中名为property...

    java 面试题 总结

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    JAVA面试题最全集

    简述 Java Server Page 和 Servlet 的联系和区别。 33.简述synchronized和java.util.concurrent.locks.Lock的异同 ? 34.EJB规范规定EJB中禁止的操作有哪些? 35.java除了8种基本类型外,在虚拟机里还有哪一种,...

    Java容器.xmind

    V put​(K key, V value) Set&lt;K&gt; keySet​() Set&lt;Map.Entry,V&gt;&gt; entrySet​() 线程不安全,速度快,允许存放null键,null值。 SortedMap 标记: class TreeMap 对键进行排序 HashTable 标记: class ...

Global site tag (gtag.js) - Google Analytics