首页 > 试题广场 >

以下关于集合类ArrayList、LinkedList、Ha

[单选题]
以下关于集合类ArrayList、LinkedList、HashMap描述错误的是()
  • HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
  • ArrayList和LinkedList均实现了List接口
  • 添加和删除元素时,ArrayList的表现更佳
  • ArrayList的访问速度比LinkedList快
   1. List 是一个有序集合,可以存放重复的数据 (有序:存进是什么顺序,取出时还是什么顺序)
                (1).ArrayList 底层是数组适合查询,不适合增删元素。
                (2).LiskedList 底层是双向链表适合增删元素,不适合查询操作。
                (3).Vector 底层和ArrayList相同,但是Vector是线程安全的,效率较低很少使用
   2. Set 是一个无序集合,不允许放重复的数据 (无序不可重复,存进和取出的顺序不一样)
                (1).HashSet 底层是哈希表/散列表
                (2).TreeSet 继承sartedSet接口(无需不可重复,但存进去的元素可以按照元素的大小自动排序)
   3. Map 是一个无序集合,以键值对的方式存放数据,键对象不允许重复,值对象可以重复。
                (1).HashMap实现不同步,线程不安全。  HashTable线程安全
                (2).HashMap中的key-value都是存储在Entry中的。
                (3).HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性
编辑于 2020-10-10 22:54:29 回复(7)
数组的插入和删除效率比较低,读取的效率高,因为地址是连续的
发表于 2019-03-21 19:17:35 回复(1)
(补充)Hashtable和HashMap的区别
1.继承不同。     
public class Hashtable extends Dictionary implements Map 
public class HashMap extends  AbstractMap implements Map 
2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。
3.Hashtable 中, key 和 value 都不允许出现 null 值。 在 HashMap 中, null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为 null 。当 get() 方法返回 null 值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为 null 。因此,在 HashMap 中不能由 get() 方法来判断 HashMap中是否存在某个键, 而应该用 containsKey() 方法来判断。 
4.两个遍历方式的内部实现上不同。Hashtable、HashMap都使用了Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式。
5.哈希值的使用不同,HashTable直接使用对象的hashCode。而HashMap重新计算hash值。
6.Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。HashTable中hash数组默认大小是11,增加的方式是old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。
发表于 2020-06-19 16:11:58 回复(2)
   1. List 是一个有序集合,可以存放重复的数据 (有序:存进是什么顺序,取出时还是什么顺序)
                (1).ArrayList 底层是数组适合查询,不适合增删元素。
                (2).LiskedList 底层是双向链表适合增删元素,不适合查询操作。
                (3).Vector 底层和ArrayList相同,但是Vector是线程安全的,效率较低很少使用
   2. Set 是一个无序集合,不允许放重复的数据 (无序不可重复,存进和取出的顺序不一样)
                (1).HashSet 底层是哈希表/散列表
                (2).TreeSet 继承sartedSet接口(无序不可重复,但存进去的元素可以按照元素的大小自动排序)
   3. Map 是一个无序集合,以键值对的方式存放数据,键对象不允许重复,值对象可以重复。
                (1).HashMap实现不同步,线程不安全。  HashTable线程安全
                (2).HashMap中的key-value都是存储在Entry中的。
                (3).HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性
发表于 2021-06-17 09:40:44 回复(0)
Hashmap 能存基本数据类型吗?
发表于 2019-07-21 11:46:54 回复(1)
我记得hashMap不是不能以null为key吗
发表于 2022-09-22 10:16:37 回复(1)
D
发表于 2019-07-10 15:33:54 回复(0)
LinkedList作者:有人会去用它吗?
发表于 2023-05-24 10:55:58 回复(0)
补充,答案并不精确,arraylist在进行尾部增删时,速度并不见得比linkedlist慢。只是相对来说慢。
发表于 2022-10-03 11:13:15 回复(1)
难道没有一个人有疑问? HashMap不可以存储key为基础类型的数据吧。 可以存基本数据类型 只是泛型括号里不能写基本类型
编辑于 2020-07-24 20:51:44 回复(0)
最近出的题,很是有问题啊
发表于 2019-08-08 13:48:12 回复(0)
lk9头像 lk9
难道没有一个人有疑问? HashMap不可以存储key为基础类型的数据吧。
发表于 2019-07-22 11:25:06 回复(4)
D'
发表于 2019-07-10 20:28:48 回复(0)