集合部分测试题
本套题共40道,前30道为单选,后10道为多选。单选题2分/题,多选题4分/题。多选题不全对半分,全对满分。 单选题
1. LinkedList类的特点是( )
A. 查询快 B. 增删快 C. 元素不重复 D. 元素自然排序
2. 关于迭代器说法错误的是( )
A. 迭代器是取出集合元素的方式
B. 迭代器的hasNext()方法返回值是布尔类型 C. List集合有特有迭代器
D. next()方法将返回集合中的上一个元素
3. 单列集合的顶层接口是( )
A. java.util.Map
B. java.util.Collection C. java.util.List D. java.util.Set
4. 实现下列哪个接口,可以启用比较功能( )
A. Runnable接口 B. Iterator接口 C. Serializable接口
D. Comparator接口
5. 对于增强for循环说法错误的是( )
A. 增强for循环可以直接遍历Map集合 B. 增强for循环可以操作数组
C. 增强for循环可以操作Collection集合 D. 增强for循环是JDK1.5版本后出现的
6. 下面代码运行的结果是( )
ArrayList
System.out.println(al); A. 编译失败 B. [true,123] C. [true,123,abc]; D. [abc];
7. 将Map集合中的键存储到Set集合的方法是( )
A. entrySet() B. get() C. keySet() D. put()
8. ArrayList和Vector的区别说法正确的是( )
A. ArrayList是线程安全的,Vector是线程不安全 B. ArrayList是线程不安全的,Vector是线程安全的 C. ArrayList底层是数组结构,Vector底层是链表结构 D. ArrayList底层是链表结构,Vector底层是数组结构
9. Set集合的特点是( )
A. 元素有序
B. 元素无序,不存储重复元素 C. 存储重复元素
D. Set集合都是线程安全的
10. ArrayList的初始化内容如下:
ArrayList
list.add(\
list.add(\
下面可以删除list中所有的“java”的代码是( ) a)
for (int i = list.size()-1; i >= 0; i--) {
if(\ list.remove(i);
}
}
b)
for (int i =0; i < list.size(); i++) {
if(\ list.remove(i);
}
}
c) list.remove(\d) list.removeAll(\
11. Vector类的特点是( )
A. 线程同步 B. 线程不同步 C. 增删快 D. 底层是链表结构
12. 使用TreeSet的无参构造创建集合对象存储元素时,该元素必须 ( )
A. 必须实现Comparable接口 B. 有main方法 C. 有get和set方法
D. 必须实现Serializable接口
13. 下列方法不是Collection通用方法的有( )
a) iterator() b) add() c) get(); //list特有
d) remove()
14. 对于HashMap集合说法正确的是( )
A. 底层是数组结构 B. 底层是链表结构
C. 可以存储null值和null键 D. 不可以存储null值和null键
15. Collections工具类中的binarySearch()方法描述正确的是( )
A. binarySearch()方法只能操作Set集合 B. binarySearch()方法只能操作List集合 C. binarySearch()方法只能操作Map集合 D. binarySearch()可以操作所有的集合