• 1. Collection,List, Map, Queue


    1. java集合框架体系结构图

    在这里插入图片描述

    2. Collection派生的子接口

    在这里插入图片描述

    其中最重要的子接口是:

    1)List
    表示有序可重复列表,重要的实现类有:ArrayList, LinkedList
    ArrayList特点:底层数组实现,随机查找快,增删慢。
    LinkedList特点:底层双向链表实现,不支持随机查找,增删快。

    2)Set
    表示无序不重复列表, 重要的实现类有:HashSet, TreeSet, LinkedHashSet
    HashSet: 最常见的Set实现,底层使用hash表实现。具有非常好的读取和查找性能。
    TreeSet: 底层采用平衡二叉搜索树实现(red-black tree)。 元素唯一且有序。用在需要保证元素顺序的场景。
    LinkedHashSet: 底层采用hash表和链表实现,链表记录元素的插入顺序。

    3)Queue
    表示队列, 重要的实现类有:LinkedList, ArrayDeque,PriorityQueue
    LinkedList: 除了是一个线性链表,LinkedList也可以用来表示队列,它也实现了Deque(双端对了)接口。
    ArrayDeque: 底层使用数组实现的双端队列
    PriorityQueue: 即优先级队列,保存队列元素的顺序不是按照插入的顺序,而是按照优先级排序。

    3. Map派生的子接口

    在这里插入图片描述

    其中最重要的实现类有:

    1)HashMap, LinkedHashMap, TreeMap
    HashMap: 基于hash表的实现(拉链法, 每个bucket中出现hash碰撞时使用链表串联,但为了效率,当链表元素大于8时,升级为red-black tree)

    LinkedHashMap: 继承自HashMap, 内部维护了一个链表,用于保存元素的插入顺序(或访问顺序),使用迭代器时可按顺序迭代。

    TreeMap: 实现了SortedMap, 能够按key排序。 底层实现时red-black tree。

    4. concurrent包新增集合实现类

    doug lea在concurrent包中新增了若干有用的集合实现类,主要包括:
    1)List
    CopyOnWriteArrayList: 一个线程安全的ArrayList版本

    2)Set
    CopyOnWriteArraySet

    3) Queue
    ConcurrentLinkedQueue, ConcurrentLinkedDeque: 链表版本队列的线程安全版本

    BlockingQueue: 阻塞队列接口,以阻塞的方式插入/取出队列元素,非常有用,常用于生产消费者模式。相关实现类有:ArrayBlockingQueue, LinkedBlockingQueue, PriorityBlockingQueue, SynchronousQueue, TransferQueue, DelayQueue

    BlockingDeque: 跟BlockingQueue类似,只是它是一个双端队列。 相关的实现类有: LinkedBlockingDeque

    4) Map
    ConcurrentHashMap: HashMap的线程安全版本(非常重要的类,面试重点)

    ConcurrentSkipListMap: 支持并发的跳表Map,key有序

    5. 已废弃接口和实现类

    stack, vector, hashtable。 这些都是jdk1.1中的集合类,已经废弃,项目中不要使用。

  • 相关阅读:
    探秘URL的奥义:JavaScript中轻松获取页面参数值的N种姿势【含代码示例】
    Web大学生网页作业成品 :黑色主题个人博客网站设计与实现(HTML+CSS+JavaScript)
    使用Mindspore推理会出现内存泄漏问题
    第六章 机器学习技巧——参数的更新&权重的初始值&Batch Normalization&正则化&超参数的验证
    xflush监控设计详解
    .NET WinForm开放中的 窗体的 Designer.cs作用
    Docker镜像仓库搭建(本地镜像推到阿里云)
    音视频技术开发周刊 | 257
    Docker搭建ELK
    【技巧分享】MT4外汇交易全程指南:掌握交易信号的关键
  • 原文地址:https://blog.csdn.net/qq_25027457/article/details/134244729