栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面试题(第一版)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面试题(第一版)

List,set,Map的区别
 List、set都是集成自Collection接口,Map不是
 List特点:元素有放入顺序,元素可重复,set特点元素无存放顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无法放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set的Object必须定义equals()方法,另外list支持for循环,也就是通过下班来遍历,也可以使用迭代器,但是set只能用迭代,因为他无序,无法通过下标来取得想要的值

3.set和List的区别

Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置的改变

List:和数组类似,list可以动态增长,查询元素效率高,插入删除元素效率低,因为不会引起其他元素位置改变

4.Map适合存储键值对的数据

5.线程安全集合类与非线程安全集合类:

 linkedList、ArrayList、HashSet是非线程安全的,Vector是线程安全的;
 HashMap是非线程安全的,HashTable是线程安全的;
 StringBuilder是非线程安全的,StringBuffer是线程安全的

6.ArrayList和linkedList的区别

 ArrayList是数组队列,相当于动态数组;后者为双向链表结果,也可以当作堆栈、队列、双端队列
 当随机访问List时候(get和set操作),ArrayList比linkedList的效率更高,因为linkedList是线性的数据存储方式,所以需要移动指针从前往后依次查找
 当增删操作的时候(remove和add)linkedList比ArrayList效率高,因为ArrayList是数组,所以在其中进行增删操作时,会对操作点之后所有数据的下标索引造成影响,进行数据的移动
 ArrayList自由性比较低,因为他需要手动的设置固定大小的容量,但是它的使用比较方便,只要创建,然后添加数据,通过调用下表进行使用;而linkedList自由度比价高,能够动态的随着数据量的变化而变化,但是他不便于使用,
 ArrayList主要空间开销在于需要在list列表预留一定空间;而linkedList的主要空间开销在于需要存储结点信息及节点指针信息

hashMap的数据结构是数组+链表+红黑树

TreeMap的数组结果是红黑树

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/343785.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号