Java集合常见面试题

Posted baoblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合常见面试题相关的知识,希望对你有一定的参考价值。

1、常见的集合

Map接口和Collection接口是所有集合的父接口

1.Conllection接口的子接口包括List接口和Set接口

2.Map接口的实现类主要有:HashMap,TreeMap,HashTable等

3.Set接口的实现类主要有:HashSet,TreeSet,LinkedHashSet等

4.List接口的实现类主要有:ArrayList,LinkedList,Vector等

2、List、Set、Map的区别

1.List里面存放的元素是有序的,可以包含重复元素

2.Set里面存放的元素是无序的,不可以包含重复元素

3.Map中存储是键值对,键不能重复,值可以重复,根据键得到值

3、HashMap和HashTable的区别

1.HashMap没有考虑同步,是线程不安全的,HashTable使用了synchronized关键字,是线程安全的

2.HashMap允许键值对都为null,HashTable不允许键值对为null

4、HashSet和TreeSet的区别

1.hashSet是由Hash表来实现的,元素排列是无序的

2.TreeSet是由一个树形结构来实现的,元素是有序的

5、HashMap的扩容操作是怎么实现的

1.HashMap通过resize()方法进行扩容或初始化

6、ArrayList和Vector的区别

1.都继承了List接口,集合中的数据顺序都是有序的,允许数据重复

2.区别主要区分两个方面

同步性:Vector是线程安全的,ArrayList是线程不安全的

数据增长:Vector在数据满的时候,增长为原来的两倍,ArrayList在数据到达容量的一半时,增长为原空间的1.5倍

7、ArrayList和LinkedList的区别

1.ArrayList和LinkedList都实现了List接口

2.ArrayList是基于索引的接口,他的底层是数组,LinkedList是链表结构来存储数据

3.LinkedList在插入或者删除时的效率更高,ArrayList在查询时效率更高

4.LinkedList要比ArrayList需要更多的内存

8、数组(Array)和列表(ArrayList)的区别

1.Array可以包含基本数据类型和对象,ArrayList只能包含对象

2.Array的长度是固定的,ArrayList的长度是可以动态变化的

3.ArrayList提供了更多的方法和特性,比如addALL(),removeALL()

 

以上是关于Java集合常见面试题的主要内容,如果未能解决你的问题,请参考以下文章

Java集合常见面试题

Java集合框架常见面试题

Java集合面试题看这篇就够了

Java集合面试题看这篇就够了

java常见面试题——java笔试题总结

java常见面试题