深圳尚学堂Java面试习题集(五)(尚学堂java课程)

createh52个月前 (05-08)技术教程18

1.ArrayList和Vector的区别?

解答:同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程不安全的,不是同步的;数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半。

2.HashMap和Hashtable的区别?

解答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口,主要区别

在于HashMap允许空(null)键值(key),由于非线程安全,效率上高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。最大的不同是,Hastable的方法是synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供同步。

3.请说出ArrayList,Vector, LinkedList的存储性能和特性

解答:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

相关文章

深圳尚学堂Java面试习题集(二)(尚学堂java就业班全套视频百度网盘)

1.请说出 ArrayList,Vector, LinkedList 的存储性能和特性解答:ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入...

深圳尚学堂Java面试习题集(四)(尚学堂的java所有教学视频)

1.事务是什么?有哪些属性,并简要说明这些属性的含义。解答:事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如S...

深圳尚学堂Java面试习题集(三)(深圳尚学堂培训怎么样)

1.Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构?解答:可以看与XML文件对应的域模型。2.存储过程和函数的区别解答:从参数的返回情况来看:如果返回多个参数值最好...

2023年200多道Java基础面试题(java 3年面试题)

最近有很多人后台问我,有什么方法能够快速提升自己,通过阿里、腾讯、字节跳动、京东等互联网大厂的面试,我觉得短时间提升自己最快的手段就是背面试题,最近总结了Java常用的面试题,分享给大家,希望大家都能...

深圳尚学堂Java面试习题集(六)(深圳尚学堂培训怎么样)

1.类有哪三个基本特性?各特性的优点?解答:类具有封装性、继承性和多态性。封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。继承性:类...