阿里巴巴电话面试题目

阿里巴巴电话面试题目

ID:16061736

大小:400.00 KB

页数:18页

时间:2018-08-07

阿里巴巴电话面试题目_第1页
阿里巴巴电话面试题目_第2页
阿里巴巴电话面试题目_第3页
阿里巴巴电话面试题目_第4页
阿里巴巴电话面试题目_第5页
资源描述:

《阿里巴巴电话面试题目》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、l你对Java的集合框架了解吗?能否说说常用的类?Java集合框架类图:我常用的类:HashMap,Hashtable,HashSet,ArrayList,Vector,LinkedList,Collections,Arrays;l说说Hashtable与HashMap的区别(源代码级别)l最明显的区别在于Hashtable是同步的(每个方法都是synchronized),而HashMap则不是.lHashMap继承至AbstractMap,Hashtable继承至Dictionary,前者为Map的骨干,其内部已经实现了Map所需要做的大部分工作,它的子类只

2、需要实现它的少量方法即可具有Map的多项特性。而后者内部都为抽象方法,需要它的实现类一一作自己的实现,且该类已过时l两者检测是否含有key时,hash算法不一致,HashMap内部需要将key的hash码重新计算一边再检测,而Hashtable则直接利用key本身的hash码来做验证。HashMap:inthash=(key==null)?0:hash(key.hashCode());-----staticinthash(inth){h^=(h>>>20)^(h>>>12);returnh^(h>>>7)^(h>>>4);}Hashtable:inthash=

3、key.hashCode();l两者初始化容量大小不一致,HashMap内部为16*0.75,Hashtable为11*0.75HashMap:staticfinalintDEFAULT_INITIAL_CAPACITY=16;staticfinalfloatDEFAULT_LOAD_FACTOR=0.75f;publicHashMap(){this.loadFactor=DEFAULT_LOAD_FACTOR;threshold=(int)(DEFAULT_INITIAL_CAPACITY*DEFAULT_LOAD_FACTOR);table=newEntr

4、y[DEFAULT_INITIAL_CAPACITY];init();}Hashtable:publicHashtable(){this(11,0.75f);}-----publicHashtable(intinitialCapacity,floatloadFactor){..........this.loadFactor=loadFactor;table=newEntry[initialCapacity];threshold=(int)(initialCapacity*loadFactor);}后续的区别应该还有很多,这里先列出4点。l平时除了ArrayLi

5、st和LinkedList外,还用过的List有哪些?ArrayList和LinkedList的区别?事实上,我用过的List主要就是这2个,另外用过Vector.ArrayList和LinkedList的区别:1.毫无疑问,第一点就是两者的内部数据结构不同,ArrayList内部元素容器是一个Object的数组,而LinkedList内部实际上一个链表的数据结构,其有一个内部类来表示链表.(ArrayList)privatetransientObject[]elementData;(LinkedList)privatetransientEntryhea

6、der=newEntry(null,null,null);/链表头//内部链表类.privatestaticclassEntry{Eelement;//数据元素Entrynext;//前驱Entryprevious;//后驱Entry(Eelement,Entrynext,Entryprevious){this.element=element;this.next=next;this.previous=previous;}}1.两者的父类不同,也就决定了两者的存储形式不同。ArrayList继承于AbstractList,而L

7、inkedList继承于AbstractSequentialList.两者都实现了List的骨干结构,只是前者的访问形式趋向于“随机访问”数据存储(如数组),后者趋向于“连续访问”数据存储(如链接列表)publicclassArrayListextendsAbstractListpublicclassLinkedListextendsAbstractSequentialList2.再有就是两者的效率问题,ArrayList基于数组实现,所以毫无疑问可以直接用下标来索引,其索引数据快,插入元素设计到数组元素移动,或者数组扩充,所以插入元素

8、要慢。LinkedList基于链表结构

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。