使用TreeMap集合实现以学生为对象把学生的学号按大到小的排序

文摘   科技   2024-10-21 10:00   广东  
点击上方“Java进阶学习交流”,进行关注

后台回复“Java”即可获赠Java学习资料

山河破碎风飘絮,身世浮沉雨打萍。

大家好,我是Java进阶者。

一、LinkedHashMap类

1.LinkedHashMap类是HashMap的子类,LinkedHashMap可以使用双向链表来维护内部元素的关系,保证了元素迭代的顺序,这个迭代的顺序可以是插入或访问顺序。HashMap是无序的,LinkedHashMap是有序的。

2.LinkedHashMap的用法例子:

import java.util.*;public class m02 {public static void main(String[] args) {        // TODO Auto-generated method stub        Map m=new HashMap();        m.put("1", "Java程序设计");        m.put("2", "软件测试");        m.put("3", "数据库原理及其应用");        Set ks=m.keySet();        Iterator i=ks.iterator();        while(i.hasNext()){            String key=(String)i.next();            String value=(String) m.get(key);            System.out.println(key+"--"+value);        }}}

运行的结果是:


二、如何Map存储的所有值的Collection集合?

1.获取Map存储的所有值的Collection集合的值是调用Map的values()方法,然后迭代集合每一个值。

2.实现的例子:

import java.util.*;public class m01 {public static void main(String[] args) {        // TODO Auto-generated method stub        Map m=new HashMap();        //存储键和值        m.put("c1", "Java程序设计");        m.put("c2", "软件测试");        m.put("c3", "数据库原理及其应用");        Collection v=m.values();        Iterator i=v.iterator();        while(i.hasNext()){            String value=(String)i.next();            System.out.println(value);        }}}

运行的结果是:


三、TreeMap集合

1.TreeMap是Map接口的其中之一实现类。TreeMap也是用来存储键和值的,也不可以出现重复的键。TreeMap它是按键(key)的自然顺序排列的。

2.TreeMap的用法例子:

import java.util.*;public class m02 {public static void main(String[] args) {        // TODO Auto-generated method stub        TreeMap m=new TreeMap();        m.put("4", "Java程序设计");        m.put("6", "软件测试");        m.put("2", "数据库原理及其应用");        Set ks=m.keySet();        Iterator i=ks.iterator();        while(i.hasNext()){            String key=(String)i.next();            String value=(String) m.get(key);            System.out.println(key+"--"+value);        }}}

运行的结果是:


四、使用TreeMap集合实现以学生为对象把学生的学号按大到小的排序

1.在使用TreeMap集合通过自定义的比较器方法对所有键进行排序。

2.例子的实现:

import java.util.*;public class m02 {public static void main(String[] args) {        // TODO Auto-generated method stub        //创建TreeMap集合        TreeMap m=new TreeMap(new My());        m.put("4", "张三");        m.put("6", "李四");        m.put("2", "王五");        Set ks=m.keySet();        Iterator i=ks.iterator();        while(i.hasNext()){            String key=(String)i.next();            String value=(String) m.get(key);            System.out.println(key+"--"+value);        }}}//定义类来自定义比较器class My implements Comparator{//实现比较方法public int compare(Object obj1,Object obj2){        String id1=(String) obj1;        String id2=(String) obj2;        return id2.compareTo(id1);}}

运行的结果是:


五、总结

本文主要介绍了LinkedHashMap类、Map如何存储所有值的Collection集合、TreeMap集合、使用TreeMap集合实现以学生为对象把学生的学号按大到小的排序。

LinkedHashMap可以使用双向链表来维护内部元素的关系,保证了元素迭代的顺序,这个迭代的顺序可以是插入或访问顺序。

获取Map存储的所有值的Collection集合的值是调用Map的values()方法。

使用TreeMap集合实现以学生为对象把学生的学号按大到小的排序是通过自定义一个比较器的方法,然后实现比较方法。希望大家通过本文的学习,对你有帮助!

------------------- End -------------------

往期精彩文章推荐:

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Java学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

Java进阶学习交流
该公众号专注于分享Java编程相关的基础、技术、开发等工具资源、热点资讯、相关技术文章、学习视频和学习资料等,期待您的加入~~~