面渣逆袭-12道Java集合框架篇

1.说说有哪些常见的集合框架?用过哪些集合类,它们的优劣?哪些是线程安全的容器?Collection 继承了哪些接口?集合框架有哪几个常用工具类?

2.简单介绍一下队列队列和栈的区别了解吗?

3.ArrayList 和 LinkedList 有什么区别?ArrayList 和 LinkedList 的用途有什么不同?ArrayList 和 LinkedList 是否支持随机访问?ArrayList 和 LinkedList 内存占用有何不同?ArrayList 和 LinkedList 的使用场景有什么不同?链表和数组有什么区别?ArrayList 的扩容机制了解吗?ArrayList 怎么序列化的知道吗?为什么 ArrayList 不直接序列化元素数组呢?

4.快速失败fail-fast了解吗?什么是安全失败(fail—safe)呢?

5.有哪几种实现 ArrayList 线程安全的方法?ArrayList 和 Vector 的区别?CopyOnWriteArrayList 了解多少?

6.能说一下 HashMap 的底层数据结构吗?HashMap 怎么查找元素的呢?为什么 hash 函数能减少哈希冲突?为什么 HashMap 的容量是 2 的幂次方?如果初始化 HashMap,传一个 17 的容量,它会怎么处理?初始化 HashMap 的时候需要传入容量吗?

7.HashMap扩容发生在什么时候呢?默认的负载因子是多少?初始容量是多少?为什么使用 1 << 4 而不是直接写 16?为什么选择 0.75 作为 HashMap 的默认负载因子呢?HashMap的扩容机制了解吗?JDK 7 扩容的时候有什么问题?扩容的时候每个节点都要进行位运算吗?JDK 8 对 HashMap 做了哪些优化呢?

8.HashMap 的 put 流程知道吗?你还知道哪些哈希函数的构造方法呢?解决哈希冲突有哪些方法?什么是再哈希法?什么是开放地址法?什么是拉链法?怎么判断 key 相等呢?

9.你对红黑树了解多少?为什么不用二叉树?为什么不用平衡二叉树?为什么用红黑树?红黑树怎么保持平衡的?为什么 HashMap 链表转红黑树的阈值为 8 呢?

10.HashMap 是线程安全的吗?怎么解决 HashMap 线程不安全的问题呢?

11.HashMap 内部节点是有序的吗?讲讲 LinkedHashMap 怎么实现有序的?讲讲 TreeMap 怎么实现有序的?TreeMap 和 HashMap 的区别

12.讲讲 HashSet 的底层实现?HashSet 和 ArrayList 的区别HashSet 怎么判断元素重复,重复了是否 put

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值