java集合常见面试题进大厂必掌握---自行整理笔试题

Posted weixin_40228600

tags:

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

java集合常见面试题进大厂必掌握—自行整理笔试题

1、什么是集合,集合有哪些特点,它与数组的区别
集合就是存储数据的容器;
特点将数据封装成不同的多个对象;
它们两者之间存储的容量不同,数组是固定长度,集合是可变的;内存指向的引用也不同,数组可以存储基本数据类型,但集合只能存储引用数据类型;存储的数据类型也不一样,数组存储类型需保持一致性,但集合可以存储不同数据类型。

2、集合框架使用的好处有哪些,常用的集合框架有哪些
集合框架好处:集合容量可以自增长;现有jdk集合框架可直接拿来调用,易于维护;扩展性、操作性和重复利用性比较高
常用集合框架:map和collection,作为map接口集合的框架包括HashMap、TreeMap、HashTable、ConcurrentHashMap等;collection接口集合框架包括Set接口和List接口,而Set接口实现类有:HashSet、TreeSet、LinkedHashSet等,List接口实现类有:ArrayList、LinkedList、Vector等。

3、List、Set、Map三者之间的区别
List:是有序的插入容器中,元素可以有重复,可插入null值,元素都有索引标识,对应的常见实现类:ArrayList、LinkedList和Vector。
Set:是无序的插入容器,元素不能重复插入,只可插入null一次,常见的实现类:HashSet、LinkHashSet和TreeSet。
Map:是键值对的集合,key值唯一,可无序,value值无序,可重复。

4、哪些集合类是线程安全的
Vector、HashTable常用的集合类是线程安全的,主要是在它们底层加上了线程同步安全锁synchronized;常见的ArrayList、HashMap都是线程不安全的,但它们执行的效率比较高。

5、迭代器Iterator作用,它与ListIterator之间的区别
Iterator作用可以遍历实现Collection接口,取代了以前的Enumeration;
区别:Iterator只能单向遍历,LIstIterator可以双向遍历,即往前往后。

6、List遍历的方式有哪几种,是怎么实现的
For循环遍历,它是通过外部定义的计数器,进行循环遍历读取。
Iterator迭代器遍历,它是面对对象的遍历。
Foreach循环遍历,采用iterator方式实现,不需要显示申明计数器,代表比较简单,但缺乏数据操作,比如添加、删除之类。

7、ArrayList和LinkList之间区别
在查询方面ArrayList比LinkList快,因为ArrayList是动态数组结构,而LinkList是双向线性链表结构,需要移动前后指针;在增加、删除上LinkList比ArrayList快,因为ArrayList在操作数据时,需要影响它们前后索引的下标;在内存占有率上,LinkList比ArrayList占有率上比较大,因为它的存储有两个引用,即前一个指针指向,后一个指针指向。

8、ArrayList和Vector之间区别
ArrayList和Vector都是实现了List接口,在线程安全上,Vector是安全的,同步机制,而ArrayList是非线程安全的,所以导致它比Vector操作数据更快。

以上是关于java集合常见面试题进大厂必掌握---自行整理笔试题的主要内容,如果未能解决你的问题,请参考以下文章

全网阅读过20k的Java集合框架常见面试题总结!

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

最新腾讯等大厂c/c++后端 linux开发常见面试题汇总

2021年最新Java并发进阶常见面试题总结附解答资料下载

Java集合常见面试题总结(上)

Vue 常见面试题汇总(这些技巧你真的都掌握了吗?呕心沥血2w字整理)