两万字长文读懂 Java 集合( 十 )

  • Queue 接口定义了队列的基本操作,子类集合都会拥有队列的特性:先进先出,主要实现有:LinkedList,ArrayDeque
    • PriorityQueue 底层使用二叉堆维护的优先级队列,而二叉堆是由数组实现的,它可以按照元素的优先级进行排序,优先级越高的元素,排在队列前面,优先被弹出处理 。
  • Map 接口定义了该种集合类型是以 <key,value> 键值对形式保存,其主要实现有:HashMap,TreeMap,LinkedHashMap,Hashtable
    • LinkedHashMap 底层多加了一条双向链表,设置 accessOrder 为 true 并重写方法则可以实现LRU缓存
    • TreeMap 底层采用数组+红黑树实现,集合内的元素默认按照自然排序,也可以传入 Comparator 定制排序
  • 看到这里非常不容易,感谢你愿意阅读我的文章,希望能对你有所帮助,你可以参考着文末总结的顺序,每当我提到一个集合时,回想它的重要知识点是什么,主要就是底层数据结构,线程安全性,该集合的一两个特有性质,只要能够回答出来个大概,我相信之后运用这些数据结构,你能够熟能生巧 。
    本文对整个集合体系的所有常用的集合类都分析了,这里并没有对集合内部的实现深入剖析,我想先从最宏观的角度让大家了解每个集合的的作用,应用场景,以及简单的对比,之后会抽时间对常见的集合进行源码剖析,尽情期待,感谢阅读!
    最后有些话想说:这篇文章花了我半个月去写,也是意义重大,多谢 cxuan 哥一直指导我写文章,一步一步地去打磨出一篇好的文章真的非常不容易,写下的每一个字都能够让别人看得懂是一件非常难的事情,总结出最精华的知识分享给你们也是非常难的一件事情,希望能够一直进步下去!不忘初心,热爱分享,喜爱写作 。

    【两万字长文读懂 Java 集合】


    推荐阅读