java集合必会面试题及答案.doc
java集合必会面试题及答案
一、单项选择题(每题2分,共10题)
1.在Java中,以下哪种集合是有序且可重复的?
A.Set
B.List
C.Map
D.Queue
答案:B
2.ArrayList的底层数据结构是?
A.链表
B.数组
C.哈希表
D.树
答案:B
3.以下哪个集合类是线程安全的?
A.ArrayList
B.Vector
C.LinkedList
D.HashSet
答案:B
4.HashMap中默认的初始容量是?
A.16
B.32
C.64
D.128
答案:A
5.HashSet在添加元素时,实际上是调用了哪个方法来判断元素是否已存在?
A.equals()
B.hashCode()
C.compareTo()
D.clone()
答案:A
6.以下哪种集合适合频繁的插入和删除操作在头部?
A.ArrayList
B.LinkedList
C.Vector
D.Stack
答案:B
7.TreeMap中的元素是按照什么顺序存储的?
A.插入顺序
B.随机顺序
C.键的自然顺序或自定义比较器顺序
D.值的大小顺序
答案:C
8.要获取LinkedList中的第一个元素,使用以下哪个方法?
A.getFirst()
B.element()
C.peek()
D.poll()
答案:A
9.以下哪个不是Java集合框架中的接口?
A.Iterable
B.Iterator
C.Enumeration
D.Cloneable
答案:D
10.如果希望在遍历集合时防止并发修改异常,以下哪种方式较好?
A.使用普通for循环
B.使用增强for循环
C.使用迭代器的remove方法
D.使用集合的remove方法
答案:C
二、多项选择题(每题2分,共10题)
1.以下哪些是Java集合框架中的接口?
A.List
B.Set
C.Map
D.Array
E.Queue
答案:A、B、C、E
2.ArrayList的特点包括以下哪些?
A.动态数组
B.随机访问快
C.插入和删除慢(中间元素)
D.线程安全
E.可以存储不同类型的元素
答案:A、B、C、E
3.关于HashSet,以下说法正确的是?
A.基于哈希表实现
B.元素无序
C.不允许有重复元素
D.允许null元素
E.遍历速度快
答案:A、B、C、D、E
4.以下哪些操作可能会导致HashMap重新调整容量?
A.添加大量元素
B.初始容量设置过小
C.负载因子设置过小
D.删除大量元素
E.修改元素的值
答案:A、B、C
5.LinkedList的功能有哪些?
A.可作为栈
B.可作为队列
C.适合频繁插入和删除操作
D.有索引可以快速访问元素
E.实现了List接口
答案:A、B、C、E
6.TreeSet的特点包括?
A.基于红黑树实现
B.元素有序
C.不允许null元素
D.查找速度快
E.实现了Set接口
答案:A、B、C、D、E
7.以下关于Java集合遍历的说法正确的是?
A.可以使用增强for循环遍历List
B.可以使用迭代器遍历Set
C.可以使用entrySet方法遍历Map
D.遍历Map时只能遍历键
E.遍历List时不能使用普通for循环
答案:A、B、C
8.对于Map接口,以下哪些是其子接口或实现类?
A.HashMap
B.TreeMap
C.LinkedHashMap
D.WeakHashMap
E.IdentityHashMap
答案:A、B、C、D、E
9.在使用迭代器遍历集合时,以下哪些操作是合法的?
A.使用迭代器的next方法获取下一个元素
B.使用迭代器的remove方法删除元素
C.使用集合的add方法添加元素
D.使用集合的remove方法删除元素
E.使用迭代器的hasNext方法判断是否还有下一个元素
答案:A、B、E
10.以下哪些集合类在多线程环境下需要特殊处理(非线程安全