前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用TreeMap集合实现以学生为对象把学生的学号按大到小的排序

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

作者头像
Java进阶者
发布2021-10-09 16:54:28
1K0
发布2021-10-09 16:54:28
举报

大家好,我是Java进阶者。

一、LinkedHashMap类

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

2.LinkedHashMap的用法例子:

代码语言:javascript
复制
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.实现的例子:

代码语言:javascript
复制
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的用法例子:

代码语言:javascript
复制
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.例子的实现:

代码语言:javascript
复制
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 -------------------

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java进阶学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大家好,我是Java进阶者。
  • 一、LinkedHashMap类
  • 二、如何Map存储的所有值的Collection集合?
  • 三、TreeMap集合
  • 四、使用TreeMap集合实现以学生为对象把学生的学号按大到小的排序
  • 五、总结
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档