TreeMap集合如何按照Value进行排序

------- android培训java培训、期待与您交流!
----------

我们知道,TreeMap集合是按照Key进行排序的,如何按照Value进行排序呢?现在有一个TreeMap集合

键值分别为Man类和Woman类,他们的compareTo()方法都是按照年龄排序,现在我模拟了TreeMap按照Value进行排序的方法。

算法:

1.遍历原TreeMap集合,创建个新的TreeMap集合

2.将原TreeMap集合的键值对互换,存入新的TreeMap集合

(此时,新TreeMap集合会自动按照原来的Value进行排序)

3.遍历新TreeMap集合,创建个HashMap集合

4.将新TreeMap集合的键值对互换,存入HashMap集合

代码:

运行结果:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 19:20:02

TreeMap集合如何按照Value进行排序的相关文章

JAVA中TreeMap集合筛选字母及每一个字符出现的次数

利用TreeMap对字符串进行排序 题目要求: 给出一个字符串:fjdjskgfhbsjkgjnsrgnaHNGKEURHGASLGNw5y74236720573. 要求: 化成字符串a(字符的个数)b()c()... 区分大小写 只读取字母 直接上代码: import java.util.Map; import java.util.Set; import java.util.TreeMap; ? /** * @Author caozy * @Date 2020/1/10 18:18 * @Ve

Java:List集合内的对象进行排序

List集合中的对象进行排序,除了for外,还有java的Collections对象来对摸个集合进行排序的用法. 比如说我有一个List集合,集合元素为: public class TaskAutoExecutePlan{ private String id = null; private AutoExecutePlanType autoExecutePlanType; private TaskStatus taskStatus; private String parameters; priva

java编程排序之自定义类型的集合,按业务需求排序

自定义引用类型放入集合中,按实际业务需求进行排序的两种思路 第一种思路: (1)自定义实体类实现java.lang.Comparable接口,重写public int compareTo(Object obj)方法.自定义业务比较规则 (2)利用java.util.Collections类的静态方法sort(List<自定义类型> list)进行排序(默认升序)或者.自己编写排序工具类.冒泡+compareTo(obj)方法 第二种思路 (1)自己编写业务比较规则类.实体类不用实现任何借口.业

对list集合中的对象进行排序(转载)

原文链接:http://blog.csdn.net/veryisjava/article/details/51675036 Collections对List集合中的数据进行排序 有时候需要对集合中的元素按照一定的规则进行排序,这就需要用到 Java中提供的对集合进行操作的工具类Collections,其中的sort方法 先看一个简单的例子: public static void main(String[] args) { List<Integer> nums = new ArrayList&l

2018.9.26 如何对List集合中的元素进行排序?

Collections对List集合中的数据进行排序 有时候需要对集合中的元素按照一定的规则进行排序,这就需要用到 Java中提供的对集合进行操作的工具类Collections,其中的sort方法 先看一个简单的例子: [java] view plain copy public static void main(String[] args) { List nums = new ArrayList(); nums.add(3); nums.add(5); nums.add(1); nums.add

TreeMap集合遍历学习

/** A:案例演示 TreeMap集合键是Student值是String的案例*/ TreeMap<Student, String> tm = new TreeMap<>(new Comparator<Student>() { @Override public int compare(Student s1, Student s2) { int num = s1.getName().compareTo(s2.getName()); //按照姓名比较 return num

对集合中的元素进行排序,接口Comparator&lt;T&gt;和Comparable&lt;T&gt;的使用

关于比较排序比较的接口 或者是类有:java.lang.Comparable<T>接口, 一个抽象类通过实现这个接口可以进行自然排序,也就是一个如果一个自定义类通过implements关键字实现Comparable<T>接口,并且要重写这个接口中的CompareTo()抽象方法,可以再这个方法中定义自己的比较规则:然后再向集合对象中添加元素的时候,就会自动调用compareTo()方法,对集合中的元素进行排序. 对于实现这个接口的类的对象,可以使用Collections类中的静态方

第五讲.字典,集合,数组排序(快速排序,冒泡,默认排序)(源代码)

1 #import <Foundation/Foundation.h> 2 3 int main(int argc, const char * argv[]) { 4 @autoreleasepool { 5 6 //字典的使用 7 8 //创建字典对象 9 NSDictionary * a1 = [NSDictionary dictionaryWithObjectsAndKeys:@"one",@"1",@"two",@"

含有对象的List集合实现字母数字混合排序

List<PageData> varList = [{BOMCode=10A, mantotal=4}, {BOMCode=10B, mantotal=1}, {BOMCode=11A, mantotal=1}, {BOMCode=11B, mantotal=1}, {BOMCode=12A, mantotal=1}, {BOMCode=1A, mantotal=9}, {BOMCode=2A, mantotal=168}, {BOMCode=2B, mantotal=57}, {BOMCod