1、集合部分测试题考试宣言:同学们, 考试考多少分不是我们目的! 排在班级多少名次也不是我们初衷!我们考试目的是要通过考试中题目,检查大家在这段时间学习中,与否已经把需要掌握知识掌握住了,假如哪道题目你不会做,又或做错了, 那么不用怕, 考完试后, 导师讲解时候你要注意听! 那时候学会了, 记住了, 也同样不影响你高薪就业!本套题共40道不定项选择题,其中单项选择30道,多选10道。单项选择2分/题,多选4分/题。多选题不全对半分,全对满分。1. 下列选项哪个对的( AC)a) 对象数组是引用数据类型b) 对象数组是基础数据类型c) 对象数组寄存元素是引用数据类型 d) 对象数组寄存元素是基础数据
2、类型2. 下列选项有关集合和数组辨别说法对的是( A )a) 集合长度是可变,数组长度是不可变b) 集合长度是不可变,数组长度是可变c) 集合和数组所有能寄存基础数据类型和寄存引用类型d) 集合只能寄存基础数据类型,数组既能寄存基础类型也能寄存引用类型3. Collection获取长度措施是哪个(B )a) length()b) size()c) add()d) iterator()4. 将集合转换成数组措施是哪个( C )a) toCharArray()b) getBytes()c) toArray()d) size()5. iterator()措施功能是什么( C)a) 获取集合对象b)
3、获取集合长度c) 获取迭代器对象d) 获取集合中元素6. 下面哪些措施可以防止并发修改异常发生( ABC)a) 用一般for循环和get()遍历集合,增删集合元素b) 用列表迭代器遍历集合,使用列表迭代器add()添加元素c) 用一般迭代器遍历集合,使用一般迭代器remove()删除元素 iterator(一般迭代器)d) 没有措施能处理并发修改异常7. 下列有关Vector说法对的是(AD )a) Vector是JDK1.0开始出现b) Vector是一种抽象类c) Vector是一种接口d) Vector后来被ArrayList替代了,不过某些老项目中还在延续使用8. 数组数据构造特点是什
4、么( AC )a) 增删慢b) 查询慢c) 查询快d) 增删快9. 下列描述ArrayList集合特点对的是( BD )a) 底层是链表数据构造b) 底层是数组数据构造c) 是线程安全d) 是线程不安全10. 列描述LinkedList集合特点对的是(D )a) 底层是数组数据构造b) 底层是二叉树构造c) 是线程安全d) 是线程不安全11. 下列有关ArrayListcontains(Object obj)措施理解对的是(ABC ) a) 底层会调用objequals措施b) 假如这个措施返回值是true,就阐明集合中具有obj这个元素c) 假如这个措施返回值是false,就阐明集合中没有o
5、bj这个元素d) 这是一种静态措施12. 在下列代码中,有关list.remove(new Person(“张三”,23)措施作用理解对的是( CD ) ArrayList list = new ArrayList();list.add(new Person(张三, 23);list.add(new Person(张三, 23);list.add(new Person(李四, 24);list.remove(new Person(张三, 23);a) 代码移除了所有张三b) 假如Person类实现了equals措施,那么就会移除所有张三c) 假如Person类实现了equals措施,那么就会移
6、除一种张三d) 也许不会移除任何对象13. 下列代码list中元素寄存次序是( D ) LinkedList list = new LinkedList();list.addFirst(a);list.addFirst(b);list.addFirst(c);list.addFirst(d);list.addLast(e);System.out.println(list);a) abcdeb) edcbac) acdbed) dcbae14. Java中,有关队列说法对的是(AD ) a) 队列特点是优秀先出b) 队列特点是后进先出c) 队列特点是优秀后出d) 队列特点是后进后出15. 下列有
7、关泛型代码中,说法对的是(A ) ?ArrayList list = new ArrayList();a) list集合里面只能寄存Person对象b) list集合里面能寄存字符串c) list集合里面能寄存Person子类对象d) list集合里面可以寄存Object类型对象16. 下列有关泛型说法不对的是(B ) a) 泛型出现可以把运行时出现问题提前放到编译时期就发现b) 泛型出现可以把编译时出现问题放到运行后来就发现c) 泛型可以防止强制类型转换d) 泛型是一种安全机制17. 观测如下代码,下列说法不对的是( A ) public class Tool a) 格式错误,由于Q不懂得是
8、什么b) 可以这样创立对象:new Tool();c) 去掉Tool上Q,可以用String来替代d) 可以这样创立对象:new Tool();18. 下面泛型措施中,说法对的是( A )?private void show2(T t) a) 在调用show2措施时候,才会确定T类型是什么b) 此措施会报错,由于格式不对c) 定义格式错误,此措施中应当改为d) 定义格式错误,参数列表应当改为(T,Q t) 19. 下列增强for循环代码中,有关说法对的是( D ) ?for(int x : arr)System.out.println(x);a) arr必需是一种int数组b) arr 可以是
9、字符串数组c) arr 必需是一种集合d) arr可以是数组也可以是集合对象20. 要遍历元素对象,下面横线处填写代码应为( BC ) ArrayList list = new ArrayList();list.add(a);list.add(b);list.add(b);for( _ )System.out.println(x);a) int x : listb) Object x : listc) String x : listd) int x=0;xlist.size();x+21. 能删除下面集合中所有字符串“b”代码是( C ) ArrayList list = new ArrayL
10、ist();list.add(a);list.add(b);list.add(b);list.add(c);list.add(d);a) for(int i = 0; i list.size(); i+) if(b.equals(list.get(i) list.remove(i);b) for(String str : list)if(“b”.equals(str)list.remove(str);c) for(int i = 0; i list.size(); i+) if(b.equals(list.get(i) list.remove(i-);d) for(String s : lis
11、t)list.remove(“b”);22. 有关可变参数说法对的是( ACD)a) 可变参数格式为【数据类型 变量名】b) 可变参数不能打印c) 直接打印可变参数,得到是一种地址值d) 可变参数可以传播任意多种同类型对象23. 使用HashSet寄存对象,怎样保证唯一(C )a) 重写equals措施b) 让要寄存类实现Compartor,重写compare措施c) 根据组员变量重写HashCode措施和equals措施d) 重写contains措施24. HashSet在创立对象寄存元素时候,如下说法错误是( D )a) 可以使用泛型b) 可以寄存任意内容c) 寄存和取出次序不同样d) 寄
12、存元素会根据一定规则,不会清除反复元素25. HashSet中常见措施有(D )a) add,remove.get,sizeb) get(int pos)c) insert()d) add,remove,size26. 根据下面代码,选出空白处应填写代码表达寄存1-20随机数( A )HashSet hs = new HashSet();Random r = new Random();while(hs.size() 10) 补全此处代码hs.add(num);for (Integer integer : hs) System.out.println(integer);a) int num =
13、r.nextInt(20) + 1;b) int num = r.nextInt(20) ;c) Math.random();d) Math.random(20)+1;27. 根据下面代码,选出空白处应填写代码( A )Scanner sc = new Scanner(System.in);System.out.println(请输入一行字符串:);String line = 补全此处代码;char arr = line.toCharArray();HashSet hs = new HashSet();for(char c : arr) hs.add(c);for (Character ch
14、: hs) System.out.println(ch);a) String line = sc.nextLine();b) String line = sc.newLine();c) String line = sc.readLine();d) String line = sc.getString();28. TreeSet底层实际操作对象是( A )a) TreeMapb) HashMapc) LinkedHashMapd) LinkedTreeMap29. 下面措施,目的是在TreeSet中对元素进行排序,不过要保留反复元素,补全下面代码( a )public static void s
15、ort(List list) TreeSet ts = new TreeSet(new Comparator() Overridepublic int compare(String s1, String s2) int num = s1 pareTo(s2);补全此处代码);ts.addAll(list);list.clear();list.addAll(ts);a) return num = 0 ? 1 : num;b) return num = 1 ? 0 : num;c) return num = 1;d) return num;30. 比较器必需实现如下哪个接口( A)a) Compa
16、ratorb) Comparablec) Collectiond) Map31. 有关Map集合描述,如下说法错误是(D)a) Map集合是双列集合b) Map集合数据构造只针对键有效c) Map集合键是不可以反复d) 以上所有不对32. 往Map集合中添加元素,可以通过如下那个措施(A)a) put(K key,V value)b) add(K key,V value)c) keySet(K key,V value)d) containsKey(Object key)33. Map集合中,获取所有键集合,是如下哪个措施(C)a) remove()b) entrySet()c) keySet(
17、)d) keys()34. Itetator迭代器中hasNext()措施作用是(A)a) 鉴定集合中与否尚有下一种元素b) 鉴定集合中与否尚有上一种元素c) 获取集合中下一种元素d) 获取集合中上一种元素35. Map集合中,获取所有键值对的集合是那个措施(A)a) entrySet()b) values()c) keySet()d) keyValues()36. 应用程序main措施中有如下语句(请参看API文档) Hashtable hashtable=new Hashtable();hashtable.put(100,aaa);hashtable.put(200,bbb);hashta
18、ble.put(300,ccc); System.out.println(hashtable.get(300).toString()+ hashtable.get(200).toString() + hashtable.get(100).toString(); 则输出成果是 ( D )a) 编译失败b) bbbc) cccd) cccbbbaaa37. TreeMap通过自然排序保证元素唯一性,必需重写哪个措施(B)a) equals()b) compareTo()c) compare()d) toString()38. TreeMap通过比较器接口,保证元素唯一性,必需重写哪个措施(C)a)
19、 equals()b) compareTo()c) compare()d) toString()39. 使用TreeSet无参构造创立集合对象寄存元素时,该元素必需(B)a) 有main措施b) 必需实现Comparable接口/否则会出现类型转换异常ClassCaseExceptionc) 有get和set措施d) 必需实现Serializable接口40. Collections工具类中binarySearch()措施描述对的是(D)a) binarySearch()措施只能操作Set集合b) binarySearch()措施可以操作所有集合c) binarySearch()措施只能操作Map集合d) binarySearch()措施只能操作List集合