Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述正确的是()
A. ArrayList和LinkedList均实现了List接口
B. ArrayList的访问速度比LinkedList快
C. 添加和删除元素时,ArrayList的表现更佳
D. HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
答案
ArrayList就是动态数组。插入和现有项的删除开销很大,除非在末端
LinkedList插入和删除开销很小
ArrayList和LinkedList都是实现了List接口
HashMap可以用null值和空字符串作为K,不过只能有一个
ArrayList 底层是基于动态数组,根据下表随机访问数组元素的效率高,向数组尾部添加元素的效率高;但是,删除数组中的数据以及向数组中间添加数据效率低。
linkedList 增加和删除效率高 因为底层是用双向链表实现的。
选择ABD
扩展:
LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。
LinkedList 实现 List 接口,能对它进行队列操作。
LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。
LinkedList 实现了Cloneable接口,即覆盖了函数clone(),能克隆。
LinkedList 实现java.io.Serializable接口,这意味着LinkedList支持序列化,能通过序列化去传输。
LinkedList 是非同步的。
linklist详细介绍及其源码介绍
网友评论