面试题常见问题List,Set和Map的区别
Posted sujulin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题常见问题List,Set和Map的区别相关的知识,希望对你有一定的参考价值。
<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类:针对集合的一个帮助类,它提供了一系列的静态方法对各种集合的搜索,排序等操作。
以上是关于面试题常见问题List,Set和Map的区别的主要内容,如果未能解决你的问题,请参考以下文章