多语言展示
当前在线:429今日阅读:126今日分享:42

集合的面试题

我们在面试的时候经常被面试官问集合的问题,今天有时间就给大家分享一下。
方法/步骤
1

Collection是一个接口,有2个子接口,分别是List和Set,List具有有序可重复特性,Set具有无序不可重复特性List有3个实现类 --Vector --ArrayList --LinkedList

2

区别: 1.Vector底层基于Object数组,线程安全,基于synchronized来保证线程安全的,初始化容量为10,   扩容后容量为当前容量的2倍,可以指定扩容增量,如:Vector vector = new Vector(10,25);   那么储存元素大于10时,会发生扩容,扩容后容量为35,即10+25 2.ArrayList底层基于Object数组,线程不安全,jdk1.6及jdk1.6以下版本初始化容量为10,   扩容后容量为当前容量的1.5倍加1,jdk1.7初始化容量为0,扩容后容量为当前容量的1.5倍 3.LinkedList底层基于双向循环链表,双向循环链表指链表中任意一个节点,具有指向上一个节点与下一个节点的属性,   最后一个节点的next指向第一个节点的previous,初始化容量为0,不会发生扩容,实现了队列接口

3

性能分析:1.Vector比ArrayList性能低,因为Vector线程安全

4

这只是一种理论的总结,当然了,如果能够在面试的时候快速的说出来,我相信集合的有关问题是可以解决的。

注意事项

集合其实大家多看看底层还是比较好的

推荐信息