0
点赞
收藏
分享

微信扫一扫

每天5道Java面试题(第12天)

1. 为什么要ArrayList扩容要不是固定值?

扩容固定容量,很难决定到底取多少值合适,取任何具体值都不太合适,因为所需数据量往往由数组的客户端在具体应用场景决定。

所以依赖于当前已经使用的量*系数,才比较符合实际应用场景。

2. Vector为什么是线程安全的集合?

Vector 的所有方法加上了 synchronized 关键字。

3. Array 和 ArrayList 有何区别?

Array 可以存储基本数据类型和对象,ArrayList 只能存储对象。

Array 是指定固定大小的,而 ArrayList 大小是自动扩展的。

Array 内置方法没有 ArrayList 多,比如 addAll、removeAll、iteration 等方法只有 ArrayList 有。

4. Queue(队列)是什么?

队列,是一种数据结构,尾部添加、头部删除(先进队列的元素先出队列),类似生活中的排队。

5. 在 Queue中poll()和remove()有什么区别?

相同点:都是返回第一个元素,并在队列中删除返回的对象。

不同点:如果没有元素poll()会返回 ull,而remove()会直接抛出 NoSuchElementException 异常。

举报

相关推荐

0 条评论