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

下载本文档

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

文档简介

1、集合部分测试题考试宣言 :同学们 , 考试考多少分不是我们的目的 ! 排在班级多少的名次也不是我们的初衷!我的考试的目的是要通过考试中的题目 , 检查大家在这段时间的学习中 , 是否已经把需要掌握的知识掌握住了 , 如果哪道题目你不会做 , 又或者做错了 , 那么不用怕 , 考完试后 , 导师讲解的时候你要注意听 ! 那时候学会了 , 记住了 , 也一样不影响你高薪就业!本套题共 40 道不定项选择题, 其中单选 30 道, 多选 10 道。 单选 2分/ 题,多选4 分/ 题。多选题不全对半分,全对满分。1. 单列集合的顶层接口是( B )a) java.util.Mapb) java.ut

2、il.Collectionc) java.util.Listd) java.util.Set2. ArrayList 类的底层数据结构是( A )a) 数组结构b) 链表结构c) 哈希表结构d) 红黑树结构3. LinkedList 类的特点是( B )a) 查询快b) 增删快c) 元素不重复d) 元素自然排序4. Vector 类的特点是( A )a) 线程同步b) 线程不同步c) 增删快d) 底层是链表结构5. 关于迭代器说法错误的是( D )a) 迭代器是取出集合元素的方式b) 迭代器的 hasNext() 方法返回值是布尔类型c) List 集合有特有迭代器d) next() 方法将返

3、回集合中的上一个元素.6. 在我们所学知识中,下面哪几项是接口 (ABCD )a) java.util.Mapb) java.util.Collectionc) java.util.Listd) java.util.Set7. 实现下列哪个接口,可以启用比较功能( D )a) Runnable接口b) Iterator接口c) Serializable 接口d) Comparator 接口8. 下面代码运行的结果是( A )ArrayList<String> al = new ArrayList<String>();al.add(true);al.add(123);al

4、.add( “ abc” );System.out.println(al);a) 编译失败b) true,123c) true,123,abc;d) abc;9. 按照课堂要求重写 equals 和 hashCode 后,下面关于这两个方法说法正确的是 ( BC )a) 两个对象的 hashCode 值相同, 那么他们调用 equals() 方法返回值一定为 trueb) 两个对象的 hashCode 值相同, 那么他们调用 equals() 方法返回值可以为 falsec) hashCode 值一般与对象的成员变量有关d) 只要重写equals 方法,就一定要重写 hashCode 方法10

5、. 将 Map 集合中的键存储到 Set 集合的方法是( C )a) entrySet()b) get()c) keySet()d) put()11. J ava 中的集合类包括ArrayList 、 LinkedList 、 HashMap 等类,下列关于集合类描述正确的是( ABD )a) ArrayList 和 LinkedList 均实现了 List 接口b) ArrayList 的查询速度比 LinkedList 快c) 添加和删除元素时, ArrayList 的表现更佳d) HashMap 实现 Map 接口, 它允许任何类型的键和值对象, 并允许将 null 用作键 或值12.

6、ArrayList 和 Vector 的区别说法正确的是( B )a) ArrayList 是线程安全的, Vector 是线程不安全b) ArrayList c) ArrayList d) ArrayList是线程不安全的, 底层是数组结构, 底层是链表结构,Vector 是线程安全的Vector 底层是链表结构Vector 底层是数组结构13. ArrayList 的初始化内容如下:ArrayList<String> list =list.add("java");list.add("aaa");list.add("java&qu

7、ot;);list.add("java");list.add("bbb");new ArrayList<>();卜面可以删除list“ java ” 的代码是 ( A )a)for ( int i = list.size()-1; i >= 0; i-) if ( "java" .equals(list.get(i) list.remove(i);b)for ( int i =0; i < list.size(); i+) if ( "java" .equals(list.get(i) li

8、st.remove(i);c) list.remove( "java" );d) list.removeAll( "java" );14. 使 用 TreeSet 的无参构造创建集合对象存储元素时,该元素必须( A )a) 实现 Comparable 接口b) 有 main 方法c) 有 get 和 set 方法d) 实现 Serializable 接口15. 将 集合转成数组的方法是( C )a) asList()b) toCharArray()c) toArray()d) copy()16. 下面关于 HashMap 和 Hashtable 的区别,

9、说法正确的是( CD )a) Hashtable线程不安全,效率高b) HashMap线程安全,效率低c) HashMap允许null 键和值d) Hashtable不允许null 键和值17. 对 于增强 for 循环说法错误的是( A )a) 增强for循环可以直接遍历Map 集合b) 增强for循环可以操作数组c) 增强for循环可以操作Collection集合d) 增强 for 循环是 JDK1.5 版本后出现的18. 下 面的代码用于输出字符数组ch 中每个字符出现的次数public static void main(String args) char ch = 'a'

10、; , 'c' , 'a' , 'b' , 'c' , 'b' ;HashMap map = new HashMap();for ( int i = 0; i < ch.length ; i+) / 位置System. out .println(map);应该填入位置的代码是,不允许使用工具运行程序(CD )a)if (map.contains(chi) map.put(chi, map.get(chi) + 1); else map.put(chi, 1);b)if (map.contains(chi) m

11、ap.put(chi, (Integer) map.get(chi) + 1); else map.put(chi, 1);c)if (map.containsKey(chi) map.put(chi, ( int ) map.get(chi) + 1); else map.put(chi, 1);d)if (map.containsKey(chi) map.put(chi, (Integer) map.get(chi) + 1); else map.put(chi, 1);19. 对 于 HashMap 集合说法正确的是( C )a) 底层是数组结构b) 底层是链表结构c) 可以存储 nul

12、l 值和 null 键d) 不可以存储null 值和 null 键方法描述正确的是( B )a) binarySearch() b) binarySearch() c) binarySearch() d) binarySearch()20. Collections 工具类中的 binarySearch()方法只能操作Set集合方法只能操作List集合方法只能操作Map集合可以操作所有的集合21. 下 面代码的运行结果是( D )ArrayList al = new ArrayList();al.add(“ a”);al.add(“ b”);al.add(“ c”);Iterator it =

13、al.iterator();while(it.hasNext()String s = (String)it.next();if(s.equal s( “ c” ) al.add( “ c1 ” );System.out.println(al);a) a,b,cb) c1c) a,b,c,c1d) 抛出 ConcurrentModificationException异常22. 关于 Map.Entry 接口说法错误的是( C )a) 具有getkey()方法b) 具有 getValue() 方法c) 具有keySet()方法d) 具有setValue()方法23. 题 示代码的功能为 : 循环遍

14、历输出 Map 当中的每一个元素DMap map=new HashMap();map.put( “jessica ” ,100);map.put( “ tom” ,200);map.put( “ den” ,300);Set 位置 set = 位置 ;for ( 位置 per : set) System.out.println(per.getKey() + ":" + per.getValue();下列每个选项中分别填入上面三个位置,正确的是a) <Entry>map.keySet()Entryb) <Entry<Integer,String >

15、;>map.entrySet()Entryc) <Map.Entry<String, Integer>>map.keySet()Map.Entryd) <Map.Entry<String, Integer>>map.entrySet()Map.Entry24. Set 集合的特点是( B )a) 元素有序b) 元素无序,不存储重复元素c) 存储重复元素d) Set 集合都是线程安全的25. 关于将 int 数组使用系统提供的 API 转成集合后,不可以进行的操作是( A )a) 增加集合中的元素b) 迭代集合c) 修改集合中的元素d) 获取

16、集合中元素的个数26. 下 面代码运行的结果是( B )ArrayList<String> al = new ArrayList<>();al.add("s");al.add("ddd");al.add("true");System.out.println(al);a) 编译失败b) s,ddd,truec) trued) 运行报错27. 关于 HashMap 集合说法正确的是(AB)a) HashMap 集合是双列集合b) HashMap 集合不允许存储重复键c) HashMap 集合不允许存储重复值d) H

17、ashMap 集合线程是安全的28. List 集合的遍历方式有如下哪几种 ( ABC )a) Iterator 迭代器实现/ 开发使用这种方法b) 增强for循环实现c) get()和size()方法结合实现d) get()和length()方法结合实现29. 下 面类或者接口中,不属于集合体系的是(A )a) java.util.Collectionsb) java.util.Mapc) java.util.Vectord) java.util.Hashtable30. 下 面的类是同步的有( BD )a) java.util.ArrayListb) java.util.Vectorc)

18、java.util.HashMapd) java.util.Hashtable31. 下 列代码public class Base private void test() String aStr = "_One_"String bStr = aStr;bStr = aStr.trim();System. out .println("" + aStr + "," + bStr + "");static public void main(String a) new Base().test();其中“ _”表示一个空格,

19、运行的结果是( B )a) One,_One_b) _One_,Onec) One,Oned) _One_,_One_32. 以下能以键 _ 值对的方式存储对象的接口是( B )a) java.util.Collectionb) java.util.Mapc) java.util.HashMapd) java.util.Set33. 在 Java 中, ( A ) 类可用于创建链表数据结构的对象。a) LinkedListb) ArrayListc) Collectiond) HashMap34. 下 列方法不是Collection 通用方法的有( C )a) iterator()b) add

20、()c) get();d) remove()35. 题 示代码的功能为:对于一个存放 Person 对象的 ArrayList 进行循 环遍历。并输出每个Person 对象的 idCard 和 userName 。 Dpublic class Personprivate Long idCard;pirvate String userName;/ 以下是 getter 和 setter 方法/ 省略 List list=new ArrayList();Person p1=new Person();p1.setIdCard(new Long(1001);p1.setUserName( “terry

21、 ” ); Person p2=new Person();p2.setIdCard(new Long(1002);p2.setUserName( “ tom” );list.add(p1);list.add(p2);for( 位置 )” : ” +person.getUserName()System.out.println(person.getIdCard()+ );那么位置处的代码为a) List list:personb) List list:Personc) Person person:Listd) Person person:list36. 下 面关于泛型的说法不正确的是( D )a)

22、 泛型的具体确定时间可以是在定义方法的时候b) 泛型的具体确定时间可以是在创建对象的时候c) 泛型的具体确定时间可以是在继承父类定义子类的时候d) 泛型就是Object类型注:具体指定时间,比如List<String> list= new ArrayList<String>();就是在new一个ArrayList的时候确定了泛型的类型37. 下面关于 Collection 和 Collections 的区别错误的是( BC )a) Collections 是集合顶层接口b) Collection 是针对 Collections 集合操作的工具类c) List 、 Set 、 Map 都继承自 Collection 接口d) Collections 是针对 Collection 集合操作的工具类38. 父类声明: public classFXfat

温馨提示

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

评论

0/150

提交评论