Map集合

作者: Hoffnung_8164 | 来源:发表于2020-04-22 21:00 被阅读0次

Collection接口:add(),remove(),size(),iterator()。。。

    List子接口:add(index,E),remove(index),get(index),set(index,E),subList(),indexOf(),listIterator()...

    有序,有下标,index

        允许存储重复的元素

        实现类:

    ArrayList:底层采用数组结构来实现。

    LinkedList:底层采用双向链表来实现。

    Vector:旧的类,线程安全,效率低。被ArrayList替代。

        Set子接口:

        无序

        不允许存储相同的元素——>去重

    实现类:

        HashSet:底层采用哈希表结构来实现。

            step1:对象的hashCode码,不相同就直接存储了。如果相同,进入第二步

            step1:对象的equals()方法。

        true:相同对象

        false:不同对象

    重写以上两个方法:Object类:hashCode(),equals()

对象的各个属性值都相同——>相同的元素,重复的。

同时重写hashCode()和equals()

规则:

        hashCode:如果对象相同,保证哈希值必须相同。如果对象不同,哈希值尽可能不同。

        equals:如果对象相同,必须返回true。如果对象不同,必须返回false。

        TreeSet:底层采用二叉树结构来实现。

        TreeSet--->SortedSet接口--->Set接口

    去重的同时,还给元素进行排序。

        java.lang.Comparable接口:强行对该接口的实现类对象进行比较排序。

        compareTo(o)--->int

    o1,o2比较大小

        正数:this对象>o对象,排后面。

        负数:this对象<o对象,排前面

        零:this对象和o对象相同,不存储。——>去重

2.1、Comparable接口

            java.lang.Comparable接口:给对象强行排序的。默认的比较器。

            intcompareTo(To)

        将此对象与指定的对象进行比较以进行排序。

        比较的两个对象:this对象和参数o对象比较

说明:排序的规则

        正数:this对象>o对象,排后面。

        负数:this对象<o对象,排前面

        零:this对象和o对象相同,不存储。——>去重

2.2、Comparator接口

        java.util.Comparator接口:给对象强行排序的。自定义的比较器。

        intcompare(To1,To2)

        比较其两个参数的顺序。

        比较的两个对象:o1和o2

    说明:排序的规则

        正数:o1对象>o2对象,排后面。

        负数:o1对象<o2对象,排前面

        零:o1对象和o2对象相同,不存储。——>去重

        注意点:创建一个TreeSet集合,到底使用哪个比较器?Comparable?Comparator?

            无参构造:new TreeSet();-->使用默认的比较器:Comparable

            有参构造:new TreeSet(Comparator)-->使用自定义的比较器:Comparator

2.3、LinkedHashSet集合

    回忆:HashSet存储特点?1、无序。2、去重

    HashSet存储数据,记录存储的顺序。

    Set集合的另一个实现类:LinkedHashSet

    存储原理同HashSet相同,但是外层套了一个链表结构。用于记录存储的顺序。

相关文章

  • 2019-01-03

    Map集合 Map集合 1.1Map集合概念 Map集合是一种存放关系对象的对象的双列集合。 1.2Map集合的常...

  • 2019-01-13

    基于Map集合重点整理 Map集合 1.1Map集合概念 Map集合是一种存放关系对象的对象的双列集合。 1.2M...

  • Map集合Map<Integer,String> m

    01Map集合概述 A:Map集合概述:我们通过查看Map接口描述,发现Map接口下的集合与Collection接...

  • Map接口

    01Map集合概述 A:Map集合概述:我们通过查看Map接口描述,发现Map接口下的集合与Collection接...

  • 2020-06-30【Map】

    Map概述 Map集合的基本功能 Map集合的获取功能 Map集合的遍历 练习 Collections类 斗地主

  • day04 【Map】

    day04 【Map】 主要内容 Map集合 教学目标 能够说出Map集合特点 使用Map集合添加方法保存数据 使...

  • Java - Part 6

    一、Map集合Map集合和Collection集合不一样,Map集合是双列集合,以键值对的形式存在,键不能重复,值...

  • 集合详解

    Iterator:迭代器,它是Java集合的顶层接口(不包括 map 系列的集合,Map接口 是 map 系列集合...

  • 第六篇学习笔记

    第六篇学习总结 一、Map集合 Map集合和Collection集合不一样,Map集合是双列集合,以键值对的形式存...

  • Map----entrySet

    Map集合不需要迭代器; 他是先将Map集合转化为Set集合; 然后Set集合调用迭代器进行遍历。 Map.Ent...

网友评论

      本文标题:Map集合

      本文链接:https://www.haomeiwen.com/subject/ishgihtx.html