• 集合


    Collection 单列集合

    Map 双列集合

    一、Collection

    List集合

    1、ArrayList:

    • 底层数据结构是数组,查询快,增删慢
    • 线程不安全,效率高

    2、Vector:

    • 底层数据结构是数组,查询快,增删慢
    • 线程安全,效率低

    3、LinkedList:

    • 底层数据结构是链表,查询慢,增删快
    • 线程不安全,效率高

    Set集合
    Set集合的特点

    • 无序,唯一

    1、HashSet

    • 底层数据结构是哈希表(是一个元素为链表的数组)
    • 哈希表底层依赖两个方法:hashCode()和equals()

    执行顺序:

    • 首先比较哈希值是否相同
    • 相同:继续执行equals()方法
    • 返回true:元素重复了,不添加
    • 返回false:直接把元素添加到集合
    • 不同:就直接把元素添加到集合

    如何保证元素唯一性的呢?

    • 由hashCode()和equals()保证的

    2、LinkedHashSet:

    • 底层数据结构是由链表和哈希表组成
    • 由链表保证元素有序
    • 由哈希表保证元素唯一

    3、TreeSet

    • 底层数据结构是红黑树(是一个自平衡的二叉树)
    • 保证元素的排序方式

               a:自然排序(元素具备比较性)

                    让元素所属的类实现Comparable接口
                b:比较器排序(集合具备比较性)
                    让集合构造方法接收Comparator的实现类对象

    5:在集合中常见的数据结构(掌握)
        ArrayXxx:底层数据结构是数组,查询快,增删慢
        LinkedXxx:底层数据结构是链表,查询慢,增删快
        HashXxx:底层数据结构是哈希表。依赖两个方法:hashCode()和equals()
        TreeXxx:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序

    二、Map
    将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
    Map和Collection的区别?

    • Map 存储的是键值对形式的元素,键唯一,值可以重复。夫妻对
    • Collection 存储的是单独出现的元素,子接口Set元素唯一,子接口List元素可重复。光棍

    注意:Map结构的数据结构仅仅针对键有效,与值无关

    1、HashMap:见HashSet,线程不安全,效率高2、HashTable:键值不可为null,线程安全,效率低3、LinkedHashMap:3、TreeMap:见TreeSet

  • 相关阅读:
    [网络] 第五章 运输层
    pubwin
    R语言
    我的微博开通啦
    迅雷使用积分制的真正作用和目的 [揭密迅雷]
    求数组里面第二大的数
    xp环境下安装vmware workstation 7出错
    一道大学c语言作业题
    写在断网的那些日子里
    mysql里奇怪的日期201627 14:28:15
  • 原文地址:https://www.cnblogs.com/yinqanne/p/9592442.html
Copyright © 2020-2023  润新知