Map集合&比较器Comparator

目录

Map集合:

双列集合:

Map的常用方法:

Entry(K k)接口:

TreeMap集合:

比较器Comparator:


Map集合:

         java.util.Map双列集合的顶层接口,用来存储具备映射关系对象的集合接口定义        

        特点: 主要是使用在双列集合,即:键值对类型的数据

双列集合:

        以键值对的形式进行存储数据

        特点:

                1. 键唯一,值可以重复,如果键重复了则值就会被覆盖

                2. Map集合是根据键进行取值的

        实现类:

                1. HashMap:键值对存取无序

                2. LinkedHashMap : 键值对存储顺序一致

                3.TreeMap : 可以对键进行存取,使用比较器对键进行排序

Map的常用方法:

        put---添加指定的键和值

        remove---删除指定的键值对,返回被删除的值

        get---获取

        containskey---判断是否存在此键

        containsValue---判断是否存储此值

        Set<k>keySet---获取Map集合中所有的键并存储到Set集合中

        Set<MapEntry<k,v>> entrySet(): 获取Map集合中所有的键值对对象的集合(Set集合)

Map集合的遍历:

        1.键值对方式:

                获取Map集合所有的键---keySet()方法

                循环遍历所有的键

                根据建找值---get(K k)方法

        2.键值对对象方式:

                获取所有的键值对对象---entrySet()方法

                循环遍历所有的键值对对象

                使用键值对对象获取键和值---使用Entry接口方法

Entry(K k)接口:

        Entry接口是Map接口的成员内部接口,使用的方式是Map.Entry<K,V>

        Entry表示键值对对象,也就是说Enty是用来封装键值对的

        Entry接口里面的常用方法:

                K getKey(); 获取键值对对象封装的键

                V getValue(); 获取键值对对象封装的值

HashMap/LinkedHashMap :  Map集合的键是自定义类型,那么该类必须重写hashCode和equals方法保证键唯一

TreeMap集合:

        可以对键进行排序

        构造方法: public TreeMap(); 创建TreeMap集合对象,使用默认规则对键进行排序

        默认规则排序:

                要求键所属的类必须实现Comparable接口,重写compareTo方法,并在该方法中定义排序规则

        指定排序:

                实现Comparator接口指定对键进行排序

                格式: TreeMap<键的数据类型,值的数据类型> 变量名= new TreeMap<>(new Comparator<键的数据类型>() {

                        //重写  升序: this.___   -  参数.___; 降序:参数.___ - this.___ };

                格式:  TreeMap <数据类型 , 数据类型> 变量名 = new TreeMap<>();

比较器Comparator:

        指定排序:

                传入比较器接口,在里面重写cpmpare方法,实现排序规则(前减后---升序,后减前---降序)

                        Sort排序: 升序:this._ -参数._;    降序:参数._-this._;

                集合的指定排序:

                TreeSet<数据类型> 集合名 = new TreeSet<>(new Comparator<数据类型>()){ //重写排序规则 };

                键的指定排序:

                TreeMap<键的数据类型,值的数据类型> 变量名= new TreeMap<>(new Comparator<键的数据类型>() {

                                //重写  升序: this.___   -  参数.___; 降序:参数.___ - this.___  };

        默认规则排序:

                匿名内部类

                重写的类需要继承Comparable<类名>接口来完成重写定义规则{ //重写 (前 - 后)降序; (后 - 前)升序 };

集合嵌套 : 任何集合的内部都可以存储其他任何集合

键值对遍历格式

        Set<键数据类型> 变量= 集合名.keySet();

        for (键数据类型 键名:变量){

            System.out.println(键名+":"+map.get(键名));

        }

                

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值