Java集合知识测试A卷.docx

上传人:b****4 文档编号:5978775 上传时间:2023-05-09 格式:DOCX 页数:15 大小:19.36KB
下载 相关 举报
Java集合知识测试A卷.docx_第1页
第1页 / 共15页
Java集合知识测试A卷.docx_第2页
第2页 / 共15页
Java集合知识测试A卷.docx_第3页
第3页 / 共15页
Java集合知识测试A卷.docx_第4页
第4页 / 共15页
Java集合知识测试A卷.docx_第5页
第5页 / 共15页
Java集合知识测试A卷.docx_第6页
第6页 / 共15页
Java集合知识测试A卷.docx_第7页
第7页 / 共15页
Java集合知识测试A卷.docx_第8页
第8页 / 共15页
Java集合知识测试A卷.docx_第9页
第9页 / 共15页
Java集合知识测试A卷.docx_第10页
第10页 / 共15页
Java集合知识测试A卷.docx_第11页
第11页 / 共15页
Java集合知识测试A卷.docx_第12页
第12页 / 共15页
Java集合知识测试A卷.docx_第13页
第13页 / 共15页
Java集合知识测试A卷.docx_第14页
第14页 / 共15页
Java集合知识测试A卷.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java集合知识测试A卷.docx

《Java集合知识测试A卷.docx》由会员分享,可在线阅读,更多相关《Java集合知识测试A卷.docx(15页珍藏版)》请在冰点文库上搜索。

Java集合知识测试A卷.docx

Java集合知识测试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)

ArrayListal=newArrayList();

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的初始化内容如下:

 

ArrayListlist=newArrayList<>();

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.keySet()

Entry

b)>

map.entrySet()

Entry

c)>

map.keySet()

Map.Entry

d)>

map.entrySet()

Map.Entry

 

24.Set集合的特点是(B)

a)元素有序

b)元素无序,不存储重复元素

c)存储重复元素

d)Set集合都是线程安全的

25.关于将int数组使用系统提供的API转成集合后,不可以进行的操作是(A)

a)增加集合中的元素

b)迭代集合

c)修改集合中的元素

d)获取集合中元素的个数

26.下面代码运行的结果是(A)

ArrayListal=newArrayList<>();

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();

}

}

其中“_”表示一个空格,运行的结果是(D)

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进行循D

36.环遍历。

并输出每个Person对象的idCard和userName。

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:

person

b)Listlist:

Person

c)Personperson:

List

d)Personperson:

list

 

37.下面关于泛型的说法不正确的是(D)

a)泛型的具体确定时间可以是在定义方法的时候

b)泛型的具体确定时间可以是在创建对象的时候

c)泛型的具体确定时间可以是在继承父类定义子类的时候

d)泛型就是Object类型

注:

具体指定时间,比如Listlist=newArrayList();就是在new一个ArrayList的时候确定了泛型的类型

 

38.下面关于Collection和Collections的区别错误的是(ABC)

a)Collections是集合顶层接口

b)Collection是针对Collections集合操作的工具类

c)List、Set、Map都继承自Collection接口

d)Collections是针对Collection集合操作的工具类

 

39.父类声明:

public class FXfather{….}

现在要定义一个Fxfather的子类son,下面定义错误的是(D)

a)classSonextendsFXfather{}

b)classSonextendsFXfather{}

c)classSonextendsFXfather{}

d)classSonextendsFXfather{}

 

40.关于泛型的说法正确的是(ABC)

a)泛型是JDK1.5出现的新特性

b)泛型是一种安全机制

c)使用泛型避免了强制类型转换

d)使用泛型必须进行强制类型转换

 

41.应用程序的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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2