treeMap 的多种遍历方式以及比较器和comparable的实现

 treeMap 的多种遍历方式以及比较器和comparable的实现
 1、使用keySet()方法转化为set集合,再通过遍历set集合通过TreeMap集合中的get方法获取value
 2、使用TreeyMap集合中的entrySet将key和value一起转化为一个Set集合,再通过遍历set集合来获得原TreeMap集合中的key和value
 3、两种比较方法:(1)写一个比较器传入到TreeMap的构造方法中(2)放在key上的自定义数据类型重写comparable方法
 4、发现的问题:这个key部分我用的汉字加数字的方法(偷个懒)  结果发现按String类中的comparato的方法不能按数字顺序排列(这个目前还未解决)

下面附上代码

使用了for循环放了1000个数据,随机数范围为0-100,最后按照TreeMap的性质应该最多输出100个数据,按grade从小到大

public class TreeMapTest {
    public static void main(String[] args) {
        Random gradeRandom =new Random();
        //生成随机数用于给grade赋予不同的初值
        TreeMap<Grade,String> gradeMap=new TreeMap<>(new gradeComparator());
        //new一个TreeMap集合 key部分为自定义的Grade类型,value部分为String 传入的比较成绩的比较器gradeComparator()
        for (int i = 0; i <1000; i++) {
            gradeMap.put(new Grade(gradeRa
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值