java集合框架

 

Collection接口
    Collection接口是最基本的集合接口,它不提供直接的实现

List接口
    ArrayList
        基于数组
            允许任何符合规则的元素插入甚至包括null
            明确所插入元素的多少,最好指定一个初始容量值,避免过多的进行扩容操作而浪费时间、效率。
            次向容器中增加元素的同时都会进行容量检查,当快溢出时,就会进行扩容操作
            size、isEmpty、get、set、iterator 和 listIterator 操作都以固定时间运行
            add 操作以分摊的固定时间运行,也就是说,添加 n 个元素需要 O(n) 时间(由于要考虑到扩容,所以这不只是添加元素会带来分摊固定时间开销那样简单)
    LinkedList
        基于列表
    Vector
        Vector是同步的
        Vector是线程安全的动态数组
        操作与ArrayList几乎一样
    Stack
        继承自Vector
        后进先出的堆栈
            push入栈
            pop出栈
            peek获取栈顶元素
            empty判断堆栈是否为空
            search检测一个元素在堆栈中的位置

Set接口
    EnumSet
        枚举的专用Set,所有的元素都是枚举类型
    HashSet
        基于哈希表
            HashSet堪称查询速度最快的集合
            子内部元素的顺序是由哈希码来决定
            不保证set 的迭代顺序,不保证该顺序恒久不变
            不是线程同步的
    TreeSet
        基于TreeMap
            使用元素的自然顺序对元素进行排序,或者根据创建Set 时提供的 Comparator 进行排序
            不是线程同步的

Map接口
    HashMap
        基于哈希表
            其不是同步的,且允许空值作为键和值
            为快速查询而设计的,其内部定义了一个hash表数组(Entry[] table),元素会通过哈希转换函数将元素的哈希地址转换成数组中存放的索引,如果有冲突,则使用散列链表的形式将所有相同哈希地址的元素串起来
    TreeMap
        基于红黑树
            ‘键’以自然顺序或自定义比较器来规则排序
            不是线程同步的
    HashTable
        基于哈希表
            其不允许空值作为键和值
            解决冲突时与HashMap也一样也是采用了散列链表的形式,不过性能比HashMap要低
    Properties
    EnumMap

Queue
    阻塞式队列
        ArrayBlockQueue
        PriorityBlockingQueue
        LinkedBlockingQueue
    双端队列
        ArrayDeque
        LinkedBlockingDeque
        LinkedList
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值