Java语言-集合和Map知识梳理

1.1 List、Map、Set三个接口存储元素时各有什么特点

参考答案:

1)List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。

2)Set是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。

3)Map接口 :请注意,Map没有继承Collection接口,Map提供key到value的映射。

1.2HashMap和Hashtable的区别。

参考答案:

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上高于Hashtable。HashMap允许将null作为一个Entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsValue和containsKey。因为contains方法容易让人引起误解。Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。最大的不同是,Hashtable的方法是synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供同步 。

阅读更多
版权声明:【博主微信公众号:不忘初心的行者】【本文为博主原创,未经博主允许不得转载】 https://blog.csdn.net/u010193457/article/details/79452175
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭