JAVA集合类面试题
JAVA集合框架的基础接口
1.Collection为集合的根接口
2.Set是一个不能包含重复元素的集合
3.List是一个有序集合,可以包含重复集合。
4.Map是一个将key映射到value的对象。一个Map不能包含重复的Key,value则没有要求。一个key只能映射一个value
Iterator和ListIterator之间有什么区别
1.Iterator可以遍历Set和List集合,而Listlterator只能用来遍历List集合
2.Iterator只能向前遍历,而Listlterator可以双向遍历
3.Listlterator从Iterator接口继承,添加了一些额外的功能。
遍历一个List的方式
(1)Liststr = new ArrayList<>();
for(String obj:str){System.out.println(obj);}
(2)Iterator it = str.iterator();
while(it.hashnext()){String obj = it.next(); System.out.println(obj)}
ArrayLIst和Vector的异同
相同点
(1)两者都是基于索引的,其底层都是数组
(2)两者都是有序的
(3)迭代器都是通过fail-fast的
(4)两者都允许为空,并且可以使用索引值对元素进行访问
不同点
(1)Vector是线程安全的