ome/img/nav3_on.png">
APP
系统平台
  • 建站知识
  • 联系我们
  • 咨询热线 :
    028-86922220

    疆括仕网站建设,新征程启航

    为企业提供网站建设、域名注册、服务器等服务

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

    大家好,我是Java进阶者。

    创新互联建站是专业的诏安网站建设公司,诏安接单;提供做网站、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行诏安网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

    一、LinkedHashMap类

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

    2.LinkedHashMap的用法例子:

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

    运行的结果是:

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

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

    2.实现的例子:

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

    运行的结果是:

    三、TreeMap集合

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

    2.TreeMap的用法例子:

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

    运行的结果是:

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

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

    2.例子的实现:

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

    运行的结果是:

    五、总结

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

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

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

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

    本文转载自微信公众号「Java进阶学习交流」,可以通过以下二维码关注。转载本文请联系Java进阶学习交流公众号。


    当前标题:使用TreeMap集合实现以学生为对象把学生的学号按大到小的排序
    文章地址:https://tyhkzb.com/article/dhpdgpd.html

    在线咨询
    服务热线
    服务热线:028-86922220
    TOP