面试题_List_Set_Map的区别
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<1>List Set Map 三种集合的区别:
1. List和Set集合继承Collection
Map集合不继承Collection
2. List是一种有序(存储顺序)可重复(元素)的集合
Set是一种 无序(存储顺序)不可重复(元素)的集合
Map是一种以键值对形式存储的集合
<2> ArrayList和Vector的区别:
1.ArrayList是线程不安全,效率高。
2.Vector:是线程安全的。
3.ArrayList和Vector都可以使用for语句或者迭代器遍历,但是
Vector还可以使用枚举遍历。
<3> ArrayList 和 LinkedList的区别:
ArrayList是采用变长数组的算法实现的。
LinkedList是采用双向循环链表实现的。
<4>List接口中三个实现类的区别:
LinkedList:采用双向循环链表实现的。可以快速的执行插入,删除的方法。
线程不安全。
ArrayList:采用变长数组算法实现的,特点是:快,非线程安全。
Vector:采用变长数组算法实现的,特点是:慢,线程安全的。
<5>HashMap 和Hashtable的区别:
1,HashMap允许存null键和null值。Hashtable不允许存入null键和null值
2,HashMap线程不安全的,Hashtable是线程安全
3,HashMap可以采用迭代器遍历集合中的元素,而Hashtable既可以使用迭代器,还可以使用枚举遍 历.
<6> Collection 和 Collections的区别:
Collection接口: 是集合类的父接口,继承它的接口主要有List和Set
Collections类:针对集合的一个帮助类,它提供了一系列的静态方法对各种集合的搜索,
排序等操作。