JavaGuide-collection
知识点/面试题总结 :
Java 集合常见知识点&面试题总结(上) (必看 👍)
- Java集合
 
- 集合概述
- Java 集合概览
 - 说说 List, Set, Queue, Map 四者的区别?
 - 集合框架底层数据结构总结
- List
 - Set
 - Queue
 - Map
 
 - 如何选用集合?
 - 为什么要使用集合?
 
 - Collection 子接口之 List
- Arraylist 和 Vector 的区别?
 - Arraylist 与 LinkedList 区别?
- 补充内容:双向链表和双向循环链表
 - 补充内容:RandomAccess 接口
 
 - 说一说 ArrayList 的扩容机制吧
 
 - Collection 子接口之 Set
- comparable 和 Comparator 的区别
- Comparator 定制排序
 - 重写 compareTo 方法实现按年龄来排序
 
 - 无序性和不可重复性的含义是什么
 - 比较 HashSet、LinkedHashSet 和 TreeSet 三者的异同
 
 - comparable 和 Comparator 的区别
 - Collection 子接口之 Queue
- Queue 与 Deque 的区别
 - ArrayDeque 与 LinkedList 的区别
 - 说一说 PriorityQueue
 
 
Java 集合常见知识点&面试题总结(下) (必看 👍)
- Java集合
 
- Map 接口
- HashMap 和 Hashtable 的区别
 - HashMap 和 HashSet 区别
 - HashMap 和 TreeMap 区别
 - HashSet 如何检查重复
 - HashMap 的底层实现
- JDK1.8 之前
 - JDK1.8 之后
 
 - HashMap 的长度为什么是 2 的幂次方
 - HashMap 多线程操作导致死循环问题
 - HashMap 有哪几种常见的遍历方式?
 - ConcurrentHashMap 和 Hashtable 的区别
 - ConcurrentHashMap 线程安全的具体实现方式/底层具体实现
 - JDK1.7(上面有示意图)
 - JDK1.8 (上面有示意图)
 
 - Collections 工具类
 - 排序操作
 - 查找,替换操作
 - 同步控制
 
Java集合使用注意事项总结
- Java集合
 
- 集合判空
 - 集合转 Map
 - 集合遍历
 - 集合去重
 - 集合转数组
 - 数组转集合
 
源码分析 :
- ArrayList 源码+扩容机制分析
- 简介
- 动态数组,
 - 继承cloneable
 - 实现List,RandomAccess,Cloneable,java.io.Serializable
 
 - arraylist和vector的区别
- arraylist线程不安全
 - vector线程安全
 
 - Arraylist和LinkedList的区别
- 都不保证线程安全
 - 底层数据结构
- Arraylist 底层Object数组
 - LinkedList 底层双向链表
 
 - 插入和删除是否受元素位置的影响
- arraylist数组,受影响
 - linkedlist链表,插入删除不受影响;但是如果指定的话,那就受影响
 
 - 是否支持快速随机访问
- arraylist支持
 
 - 内存空间占用:
- arraylist在list结尾预留
 - linkedlist每一个元素都多消耗
 
 
 
 - 简介
 - HashMap(JDK1.8)源码+底层数据结构分析
 - ConcurrentHashMap 源码+底层数据结构分析
 
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.