4. Java集合知识测试_第1页
4. Java集合知识测试_第2页
4. Java集合知识测试_第3页
4. Java集合知识测试_第4页
4. Java集合知识测试_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

集合部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。1. 下列选项哪个正确(ac)a) 对象数组是引用数据类型b) 对象数组是基本数据类型c) 对象数组存储的元素是引用数据类型 d) 对象数组存储的元素是基本数据类型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) 获取集合的长度c) 获取迭代器对象d) 获取集合中元素6. 并发修改异常的解决方案哪些正确( abc )a) 用普通for循环和get()可以解决并发修改异常b) 用列表迭代器可以解决并发修改异常c) 用迭代器可以解决并发修改异常d) 没有方法能解决并发修改异常7. 下列关于Vector说法正确的是(ad )a) Vector是JDK1.0开始出现的b) Vector是一个抽象类c) Vector是一个接口d) Vector后来被ArrayList取代了,但是某些老项目中还在延续使用8. 数组数据结构的特点是什么(ac )a) 增删慢b) 查询慢c) 查询快d) 增删快9. 下列描述ArrayList集合特点正确的是( bd)a) 底层是链表数据结构b) 底层是数组数据结构c) 是线程安全的d) 是线程不安全的10. 列描述LinkedList集合特点正确的是( d )a) 底层是数组数据结构b) 底层是二叉树结构c) 是线程安全的d) 是线程不安全的11. 下列关于ArrayList的contains(Object obj)方法的理解正确的是(ab ) a) 底层会调用obj的equals方法b) 如果这个方法的返回值是true,就说明集合中含有obj这个元素c) 如果这个方法的返回值是false,就说明集合中没有obj这个元素d) 这是一个静态方法12. 在下列代码中,关于it.next()方法的作用理解正确的是( b) 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方法,那么就会移除一个张三d) 可能不会移除任何对象13. 下列代码list中的元素存储的顺序是(b ) 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中,关于队列的的说法正确的是( a ) a) 队列的特点是先进先出b) 队列的特点是后进先出c) 队列的特点是先进后出d) 队列的特点是后进后出15. 下列有关泛型的代码中,说法正确的是( 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不知道是什么b) 可以这样创建对象:new Tool();c) 去掉Tool上的Q,可以用String来代替d) 可以这样创建对象:new Tool();18. 下面泛型方法中,说法正确的是( B )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 可以是字符串数组c) arr 必须是一个集合d) arr可以是数组也可以是集合对象 自动拆箱20. 要遍历元素对象,下面横线处填写的代码应为( c ) 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”的代码的是( b ) ArrayList list = new ArrayList();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 : list)list.remove(“b”);22. 关于可变参数的说法正确的是( aBC )a) 可变参数的格式为【数据类型 变量名】b) 可变参数实际上这个参数是一个数组c) 直接打印可变参数,得到的是一个地址值d) 可变参数就是可以传递任意多个对象23. 使用HashSet存储对象,如何保证唯一( c )a) 重写equals方法b) 让要存储的类实现Compartor,重写compare方法c) 根据成员变量重写HashCode方法和equals方法d) 重写contains方法24. HashSet在存储元素的时候,以下说法错误的是( d )a) 可以定义泛型b) 可以存储任意内容c) 存储的元素有一定的顺序d) 存储的元素会按照一定的规则去重复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 = 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 : 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 sort(List list) TreeSet ts = new TreeSet(new Comparator() Overridepublic int compare(String s1, String s2) int num = 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) Comparatorb) Comparablec) Collectiond) Map31. 关于Map集合的描述,以下说法错误的是(c)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()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);hashtable.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) equals()b) compareTo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论