黑马程序员Java基础入门第三版答案第七章

单选题

1、

下列集合中的核心接口中,用于存储一组键值对象,提供键到值的映射的是()

2分

  • A、A、Collection

  • B、B、List

  • C、C、Set

  • D、D、Map

参考答案 :

D

答案说明 :

2、

下列数据结构中,哪一个是ArrayList类的底层实现()

2分

  • A、A、数组结构

  • B、B、链表结构

  • C、C、哈希表结构

  • D、D、红黑树结构

参考答案 :

A

答案说明 :

3、

关于HashMap集合说法正确的是()

2分

  • A、A、HashMap集合是单列集合

  • B、B、HashMap集合不允许存储重复键

  • C、C、HashMap集合不允许存储重复值

  • D、D、HashMap集合线程是安全的

参考答案 :

B

答案说明 :

4、

下列关于集合的描述中,错误的是()

2分

  • A、A、集合按照存储结构可以分为单列集合Collection和双列集合Map

  • B、B、List集合的特点是元素有序并且可重复

  • C、C、Set集合的特点是元素无序并且不可重复

  • D、D、集合存储的对象必须是基本数据类型

参考答案 :

D

答案说明 :

为了存储不同类型的多个对象,Java提供了一系列特殊的类,这些类可以存储任意类型的对象,并且存储的长度可变,这些类统称为集合。

5、

在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,Java专门提供()

2分

  • A、A、Collection接口

  • B、B、Map接口

  • C、C、Iterator接口

  • D、D、以上都不对

参考答案 :

C

答案说明 :

6、

下列对foreach循环描述错误的是()

2分

  • A、A、foreach循环在遍历集合时没有循环条件,也没有迭代语句。

  • B、B、foreach循环的次数是由集合中元素的个数决定的。

  • C、C、使用foreach循环遍历集合和数组时,既能访问其中的元素,又能对其中的元素进行修改。

  • D、D、JDK5开始,JDK提供了foreach循环。

参考答案 :

C

答案说明 :

使用foreach循环遍历集合和数组时,只能访问其中的元素,不能对其中的元素进行修改。

7、

下列选项中,符合LinkedList类的特点是()

2分

  • A、A、查询快

  • B、B、增删快

  • C、C、元素不重复

  • D、D、元素自然排序

参考答案 :

B

答案说明 :

LinkedList内部维护了一个双向循环链表,链表中的每一个元素都使用引用的方式记录它的前一个元素和后一个元素,从而可以将所有的元素彼此连接起来。当插入一个新元素时,只需要修改元素之间的引用关系即可;删除一个节点也是如此。正因为LinkedList具有这样的存储结构,所以其增删效率非常高。

8、

下列哪种不是List集合的遍历方式()

2分

  • A、A、Iterator迭代器实现

  • B、B、增强for循环实现

  • C、C、get()和size()方法结合实现

  • D、D、get()和length()方法结合实现

参考答案 :

D

答案说明 :

9、

ArrayList类的底层数据结构是()

2分

  • A、A、数组结构

  • B、B、链表结构

  • C、C、哈希表结构

  • D、D、红黑树结构

参考答案 :

A

答案说明 :

ArrayList内部封装了一个长度可变的数组对象,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将 ArrayList看作一个长度可变的数组。

10、

下列关于ArrayList的描述中,错误的是()

2分

  • A、A、ArrayList集合可以看作一个长度可变的数组

  • B、B、ArrayList集合不适合做大量的增删操作

  • C、C、ArrayList集合查找元素非常便捷

  • D、D、ArrayList集合中元素的索引从1开始

参考答案 :

D

答案说明 :

ArrayList集合中元素的索引从0开始。

11、

当向HashSet中添加一个元素时,确定元素的存储位置的方法是()

2分

  • A、A、equals()

  • B、B、hashCode()

  • C、C、add()

  • D、D、以上都不对

参考答案 :

B

答案说明 :

12、

Java语言中,集合类都位于哪个包中()

2分

  • A、A、java.util

  • B、B、java.lang

  • C、C、java.array

  • D、D、java.collections

参考答案 :

A

答案说明 :

13、

下面类或者接口中,不属于集合体系的是()

2分

  • A、A、java.util.Collections

  • B、B、java.util.Map

  • C、C、java.util.Vector

  • D、D、java.util.Hashtable

参考答案 :

A

答案说明 :

Collections是工具类。

14、

使用Iterator时,判断是否存在下一个元素的方法是()

2分

  • A、A、hasNext()

  • B、B、hash()

  • C、C、hasPrevious()

  • D、D、next()

参考答案 :

A

答案说明 :

15、

下面关于List集合的描述中,哪一个是错误的()

2分

  • A、A、List集合是有索引的

  • B、B、List集合可以存储重复的元素

  • C、C、List集合存和取的顺序一致

  • D、D、List集合没有索引

参考答案 :

D

答案说明 :

16、

HashSet存储的元素是无序的,如果想让元素的存取顺序一致,可以使用它的子类()

2分

  • A、A、LinkedList

  • B、B、ArrayList

  • C、C、LinkedHashSet

  • D、D、TreeSet

参考答案 :

C

答案说明 :

17、

下面关于Collection和Collections的区别正确的是()

2分

  • A、A、Collections是集合顶层接口

  • B、B、Collection是针对Collections集合操作的工具类

  • C、C、List、Set、Map都继承自Collection接口

  • D、D、Collections是针对Collection集合操作的工具类

参考答案 :

D

答案说明 :

18、

以下能以键值对的方式存储对象的接口是()

2分

  • A、A、java.util.Collection

  • B、B、java.util.Map

  • C、C、java.util.HashMap

  • D、D、java.util.Set

参考答案 :

B

答案说明 :

Map接口是一种双列集合,它的每个元素都包含一个键对象Key和一个值对象Value,键和值之间存在一种对应关系,称为映射。

19、

下列选项中,对List接口的常用方法功能描述错误的是()

2分

  • A、A、int indexOf(Object o)返回对象o在List接口中第一次出现的索引

  • B、B、int lastIndexOf(Objecto)返回对象o在List接口中最后一次出现的索引

  • C、C、Object get(int index)查询集合索引index处的元素

  • D、D、Object remove(int index)删除索引index处的元素

参考答案 :

C

答案说明 :

Object get(int index)返回集合索引index处的元素。

20、

对于HashMap集合说法正确的是()

2分

  • A、A、底层是数组结构

  • B、B、底层是链表结构

  • C、C、可以存储null值和null键

  • D、D、不可以存储null值和null键

参考答案 :

C

答案说明 :

21、

关于java.util.HashSet说法正确的是()

2分

  • A、A、集合中的元素有序

  • B、B、集合被保证为不可变

  • C、C、集合中的元素保证唯一性

  • D、D、通过唯一的键访问集合中的元素

参考答案 :

C

答案说明 :

HashSet是Set接口的一个实现类,它存储的元素是不可重复的。

22、

在Java中,用于创建链表数据结构的对象的类是()

2分

  • A、A、LinkedList

  • B、B、ArrayList

  • C、C、Collection

  • D、D、HashMap

参考答案 :

A

答案说明 :

23、

在Java中ArrayList类实现了可变大小的数组,便于遍历元素和随机访问元素,已知获得了ArrayList类的对象bookTypeList,则下列语句中能够实现判断列表中是否存在字符串“小说”的是()

2分

  • A、A、bookTypeList.add("小说");

  • B、B、bookTypeList.get("小说");

  • C、C、bookTypeList.contains("小说");

  • D、D、 bookTypeList.remove("小说");

参考答案 :

C

答案说明 :

24、

下面哪个对象不能直接获取java.util.Iterator迭代器进行迭代()

2分

  • A、A、java.util.HashSet

  • B、B、java.util.ArrayList

  • C、C、java.util.TreeSet

  • D、D、java.util.HashTable

参考答案 :

D

答案说明 :

java.util.Iterator可以对collection接口实现类进行迭代,HashTable不能被直接迭代。

25、

下面关于java.util.HashMap类中的方法描述错误的是()

2分

  • A、A、containsKey(Object key)表示如果此映射包含指定的键则返回true

  • B、B、remove(Object key)表示从此映射中移除指定键的映射关系(如果存在)

  • C、C、values()表示返回此映射包含的键的 Collection视图

  • D、D、size()表示返回此映射中的键值映射关系数

参考答案 :

D

答案说明 :

values()表示返回此映射所包含的值的Collection视图,而不是键的Collection视图。

判断题

26、

TreeSet是Set接口的一个实现类,它内部采用二叉树存储元素。()

2分

参考答案 :

答案说明 :

27、

Set集合是通过键值对的方式来存储对象的。()

2分

参考答案 :

答案说明 :

Set接口继承自Collection接口。

28、

ArrayList集合查询元素的速度很快,但是增删改查效率较低。()

2分

参考答案 :

答案说明 :

由于ArrayList的底层是使用一个数组存储元素,在增加或删除指定位置的元素时,会创建新的数组,效率比较低,因此Arraylist集合不适合做大量的增删操作,而适合元素的查找。

29、

使用Collections工具类中的sort()方法可以对List集合进行排序。()

2分

参考答案 :

答案说明 :

30、

Set接口主要有两个实现类,分别是HashSet和TreeSet。()

2分

参考答案 :

答案说明 :

31、

使用foreach循环遍历集合和数组时,既可以访问其中的元素,又能对其中的元素进行修改。()

2分

参考答案 :

答案说明 :

当使用foreach循环遍历集合和数组时,只能访问其中的元素,不能对其中的元素进行修改。

32、

在使用Iterator对集合中的元素进行遍历时,如果调用了集合对象的remove()方法删 除元素,然后继续使用Iterator遍历元素,会出现异常。()

2分

参考答案 :

答案说明 :

33、

HashSet是Set接口的一个实现类,它存储的元素是可以重复的。()

2分

参考答案 :

答案说明 :

HashSet是Set接口的一个实现类,它存储的元素是不可重复的。

34、

Map接口的V remove(Object key)移除所有的键值对元素。()

2分

参考答案 :

答案说明 :

void clear()移除所有的键值对元素。

35、

LinkedList增删效率非常高。()

2分

参考答案 :

答案说明 :

LinkedList内部维护了一个双向循环链表,链表中的每一个元素都使用引用的方式记录它的前一个元素和后一个元素,从而可以将所有的元素彼此连接起来。当插入一个新元素时,只需要修改元素之 间的引用关系即可;删除一个节点也是如此。正因为LinkedList具有这样的存储结构,所以其增删效率非常高。

36、

java.util.TreeMap底层结构是红黑树(二叉树),以此保证存储数据的键的唯一性。()

2分

参考答案 :

答案说明 :

填空题

37、

Arrays工具类的方法可以将指定的值赋给数组中的每一个元素。

2分

参考答案 :

【fill()】

答案说明 :

38、

当向HashSet中添加一个元素时,首先会调用方法确定元素的存储位置。

2分

参考答案 :

【hashCode()】

答案说明 :

39、

Map集合中的元素都是成对出现的,并且都是以、的映射关系存在的。

2分

参考答案 :

【键】【值】

答案说明 :

40、

是所有单列集合的父接口,它定义了单列集合(List和Set)通用的一些方法。

2分

参考答案 :

【Collection】

答案说明 :

41、

使用Iterator遍历集合时,首先需要调用方法判断是否存在下一个元素。若存在下一个元素,则调用方法取出该元素。

2分

参考答案 :

【hasNext()】【next()】

答案说明 :

42、

ArrayList内部封装了一个长度可变的。

2分

参考答案 :

【数组对象】

答案说明 :

43、

Lambda表达式由、箭头符号(->)和方法体组成。

2分

参考答案 :

【参数列表】

答案说明 :

44、

List接口所有的元素以存储。

2分

参考答案 :

【线性方式】

答案说明 :

45、

Collection接口是Java单列集合中的,它定义了各种具体单列集合的。

2分

参考答案 :

【根接口】【共性】

答案说明 :

46、

是Collection的子接口,用于存储一组无序、唯一的对象。

2分

参考答案 :

【Set】

答案说明 :

47、

如果要对TreeSet集合中的对象进行排序,必须实现接口。

2分

参考答案 :

【Comparable】

答案说明 :

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷茫、Peanut

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值