java题目-关于List,ArrayList,LinkedList,Map

Rae ·
更新时间:2024-11-15
· 954 次阅读

1单选
ArrayList 类的底层数据结构是 ( C )

A.链表结构 B.哈希表结构 C.数组结构 D.红黑树结构

解析:ArrayList的实现类底层就是数组,会与ArrayList的一切操作也是对于数组。

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

A.bookTypeList.contains("小说"); B.bookTypeList.get("小说"); C.bookTypeList.add("小说"); D.bookTypeList.remove("小说");

解析:add方法和remove方法肯定不是,而git方法是返回指定位置的,无法实现这个功能。而contains方法是可以实现的。
contains(Object o): 如果列表包含指定的元素,则返回 true。

3单选(2分)
用于存储键值对信息的接口是( D )

A.Set B.Collection C.List D.Map

解析:Map接口储存的是键值对

4单选(2分)
LinkedList 类的特点是 ( B )

A.查询快 B.增删快 C.元素自然排序 D.元素不重复

解析: LinkedList 是一个用链表实现的集合,元素有序(这里的有序是指放入集合的顺序,不是指按照元素大小排序的)且可以重复。

5单选(2分)
Java 中的集合类包括 ArrayList 、LinkedList、HashMap 等,下列关于集合类描述正确的是?( ACD )

A.ArrayList 和 LinkedList 均实现了 List 接口 B.随机添加和删除元素时,ArrayList 的表现更加快速 C.ArrayList 访问速度比 LinkedList 快 D.HashMap 实现了 Map 接口,它允许任何类型的键和值对象,并允许将 null 用作键或值

解析:A就不多做解释了;

ArrayList其实是包装了一个数组 Object[],当实例化一个ArrayList时,一个数组也被实例化,当向ArrayList中添加对象是,数组的大小也相应的改变。这样就带来以下有缺点: 快速随即访问 你可以随即访问每个元素而不用考虑性能问题,通过调用get(i)方法来访问下标为i的数组元素。 向其中添加对象速度慢 当你创建数组是并不能确定其容量,所以当改变这个数组时就必须在内存中做很多事情。 操作其中对象的速度慢 当你要想数组中任意两个元素中间添加对象时,数组需要移动所有后面的对象。 LinkedList LinkedList是通过节点直接彼此连接来实现的。每一个节点都包含前一个节点的引用,后一个节点的引用和节点存储的值。当一个新节点插入时,只需要修改其中保持先后关系的节点的引用即可,当删除记录时也一样。这样就带来以下有缺点: 操作其中对象的速度快 只需要改变连接,新的节点可以在内存中的任何地方 不能随即访问 虽然存在get()方法,但是这个方法是通过遍历接点来定位的所以速度慢。 说白了,就是数据结构中的顺序存储和链式存储 一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

参考文章:
ArrayList常用方法总结
Java常用类:LinkedList类详解
ArrayList 和LinkedList各自的特点是什么?


作者:小白小康



JAVA map arraylist list

需要 登录 后方可回复, 如果你还没有账号请 注册新账号