4 Java集合知识测试A卷.docx
- 文档编号:23273202
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:14
- 大小:19.59KB
4 Java集合知识测试A卷.docx
《4 Java集合知识测试A卷.docx》由会员分享,可在线阅读,更多相关《4 Java集合知识测试A卷.docx(14页珍藏版)》请在冰豆网上搜索。
4Java集合知识测试A卷
集合部分测试题
考试宣言:
同学们,考试考多少分不是我们的目的!
排在班级多少的名次也不是我们的初衷!
我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了,那么不用怕,考完试后,导师讲解的时候你要注意听!
那时候学会了,记住了,也一样不影响你高薪就业!
本套题共40道不定项选择题,其中单选30道,多选10道。
单选2分/题,多选4分/题。
多选题不全对半分,全对满分。
1.单列集合的顶层接口是(B)
a)java.util.Map
b)java.util.Collection
c)java.util.List
d)java.util.Set
2.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()方法将返回集合中的上一个元素.
6.在我们所学知识中,下面哪几项是接口(ABCD)
a)java.util.Map
b)java.util.Collection
c)java.util.List
d)java.util.Set
7.实现下列哪个接口,可以启用比较功能(D)
a)Runnable接口
b)Iterator接口
c)Serializable接口
d)Comparator接口
8.下面代码运行的结果是(A)
ArrayList
al.add(true);
al.add(123);
al.add(“abc”);
System.out.println(al);
a)编译失败
b)[true,123]
c)[true,123,abc];
d)[abc];
9.按照课堂要求重写equals和hashCode后,下面关于这两个方法说法正确的是(BC)
a)两个对象的hashCode值相同,那么他们调用equals()方法返回值一定为true
b)两个对象的hashCode值相同,那么他们调用equals()方法返回值可以为false
c)hashCode值一般与对象的成员变量有关
d)只要重写equals方法,就一定要重写hashCode方法
10.将Map集合中的键存储到Set集合的方法是(C)
a)entrySet()
b)get()
c)keySet()
d)put()
11.Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述正确的是(ABD)
a)ArrayList和LinkedList均实现了List接口
b)ArrayList的查询速度比LinkedList快
c)添加和删除元素时,ArrayList的表现更佳
d)HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
12.ArrayList和Vector的区别说法正确的是(B)
a)ArrayList是线程安全的,Vector是线程不安全
b)ArrayList是线程不安全的,Vector是线程安全的
c)ArrayList底层是数组结构,Vector底层是链表结构
d)ArrayList底层是链表结构,Vector底层是数组结构
13.ArrayList的初始化内容如下:
ArrayList
list.add("java");
list.add("aaa");
list.add("java");
list.add("java");
list.add("bbb");
下面可以删除list中所有的“java”的代码是(A)
a)
for(inti=list.size()-1;i>=0;i--){
if("java".equals(list.get(i))){
list.remove(i);
}
}
b)
for(inti=0;i if("java".equals(list.get(i))){ list.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的区别,说法正确的是(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中每个字符出现的次数 publicstaticvoidmain(String[]args){ char[]ch={'a','c','a','b','c','b'}; HashMapmap=newHashMap(); for(inti=0;i //位置① } System.out.println(map); }应该填入位置①的代码是,不允许使用工具运行程序(CD) a) if(map.contains(ch[i])){ map.put(ch[i],map.get(ch[i])+1); }else{ map.put(ch[i],1); } b) if(map.contains(ch[i])){ map.put(ch[i],(Integer)map.get(ch[i])+1); }else{ map.put(ch[i],1); } c) if(map.containsKey(ch[i])){ map.put(ch[i],(int)map.get(ch[i])+1); }else{ map.put(ch[i],1); } d) if(map.containsKey(ch[i])){ map.put(ch[i],(Integer)map.get(ch[i])+1); }else{ map.put(ch[i],1); } 19.对于HashMap集合说法正确的是(C) a)底层是数组结构 b)底层是链表结构 c)可以存储null值和null键 d)不可以存储null值和null键 20.Collections工具类中的binarySearch()方法描述正确的是(B) a)binarySearch()方法只能操作Set集合 b)binarySearch()方法只能操作List集合 c)binarySearch()方法只能操作Map集合 d)binarySearch()可以操作所有的集合 21.下面代码的运行结果是(D) ArrayListal=newArrayList(); al.add(“a”); al.add(“b”); al.add(“c”); Iteratorit=al.iterator(); while(it.hasNext()){ Strings=(String)it.next(); if(s.equals(“c”)){ al.add(“c1”); } } System.out.println(al); a)[a,b,c] b)[c1] c)[a,b,c,c1] d)抛出ConcurrentModificationException异常 22.关于Map.Entry接口说法错误的是(C) a)具有getkey()方法 b)具有getValue()方法 c)具有keySet()方法 d)具有setValue()方法 23.题示代码的功能为: 循环遍历输出Map当中的每一个元素D Mapmap=newHashMap();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) Map.Entry 24.Set集合的特点是(B) a)元素有序 b)元素无序,不存储重复元素 c)存储重复元素 d)Set集合都是线程安全的 25.关于将int数组使用系统提供的API转成集合后,不可以进行的操作是(A) a)增加集合中的元素 b)迭代集合 c)修改集合中的元素 d)获取集合中元素的个数 26.下面代码运行的结果是(B) ArrayList al.add("s"); al.add("ddd"); al.add("true"); System.out.println(al); a)编译失败 b)[s,ddd,true] c)[true] d)运行报错 27.关于HashMap集合说法正确的是(AB) a)HashMap集合是双列集合 b)HashMap集合不允许存储重复键 c)HashMap集合不允许存储重复值 d)HashMap集合线程是安全的 28.List集合的遍历方式有如下哪几种(ABC) a)Iterator迭代器实现//开发使用这种方法 b)增强for循环实现 c)get()和size()方法结合实现 d)get()和length()方法结合实现 29.下面类或者接口中,不属于集合体系的是(A) a)java.util.Collections b)java.util.Map c)java.util.Vector d)java.util.Hashtable 30.下面的类是同步的有(BD)。 a)java.util.ArrayList b)java.util.Vector c)java.util.HashMap d)java.util.Hashtable 31.下列代码 publicclassBase{ privatevoidtest(){ StringaStr="_One_"; StringbStr=aStr; bStr=aStr.trim(); System.out.println("["+aStr+","+bStr+"]"); } staticpublicvoidmain(String[]a){ newBase().test(); } } 其中“_”表示一个空格,运行的结果是(B) a)[One,_One_]b)[_One_,One]c)[One,One] d)[_One_,_One_] 32.以下能以键_值对的方式存储对象的接口是(B) a)java.util.Collection b)java.util.Map c)java.util.HashMap d)java.util.Set 33.在Java中,(A)类可用于创建链表数据结构的对象。 a)LinkedList b)ArrayList c)Collection d)HashMap 34.下列方法不是Collection通用方法的有(C) a)iterator() b)add() c)get(); d)remove() 35.题示代码的功能为: 对于一个存放Person对象的ArrayList进行循环遍历。 并输出每个Person对象的idCard和userName。 D publicclassPerson{privateLongidCard;pirvateStringuserName;//以下是getter和setter方法//省略} Listlist=newArrayList();Personp1=newPerson();p1.setIdCard(newLong(1001));p1.setUserName(“terry”);Personp2=newPerson();p2.setIdCard(newLong(1002));p2.setUserName(“tom”);list.add(p1);list.add(p2);for(位置①){System.out.println(person.getIdCard()+”: ”+person.getUserName());} 那么位置①处的代码为a)Listlist: personb)Listlist: Personc)Personperson: Listd)Personperson: list 36.下面关于泛型的说法不正确的是(D) a)泛型的具体确定时间可以是在定义方法的时候 b)泛型的具体确定时间可以是在创建对象的时候 c)泛型的具体确定时间可以是在继承父类定义子类的时候 d)泛型就是Object类型 注: 具体指定时间,比如List 37.下面关于Collection和Collections的区别错误的是(BC) a)Collections是集合顶层接口 b)Collection是针对Collections集合操作的工具类 c)List、Set、Map都继承自Collection接口 d)Collections是针对Collection集合操作的工具类 38.父类声明: public class FXfather 现在要定义一个Fxfather的子类son,下面定义错误的是(D) a)classSonextendsFXfather b)classSon c)classSon d)classSon 39.关于泛型的说法正确的是(ABC) a)泛型是JDK1.5出现的新特性 b)泛型是一种安全机制 c)使用泛型避免了强制类型转换 d)使用泛型必须进行强制类型转换 40.应用程序的main方法中有以下语句(请参看API文档) Hashtablehashtable=newHashtable(); 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)bbb c)ccc d)cccbbbaaa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java集合知识测试A卷 Java 集合 知识 测试
![提示](https://static.bdocx.com/images/bang_tan.gif)