本文主要是介绍2021.1.20Java面试题总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Java基础
1.ArrayList和Vector的区别?(59)
1.同步性:Vector是线程安全的,同步的,ArrayList是线程不安全的,是不同步的。
2.数据增长:ArrayList和Vector都有一个初始容量大小,当存储的元素个数超过了容量时就会扩容,Vector增长原来的一倍,而ArrayList增长原来的1.5倍。
2.List和Map区别?(61)
1.List集合中的元素是有序的,允许重复。
2.Map集合中的元素是以键值对的形式存储的,无序,键不能重复,值允许重复。
3.说出ArrayList,Vector,LinkedList的存储性能和特性?(64)
1.ArrayList和Vector都是数组的形式存储元素的,所以查询效率高但插入和删除效率低。Vector是线程安全的。
2.LinkedList使用双向链表的形式存储,所以插入和删除效率高,查询效率低。LinkedList是线程不安全的,也可以被当作栈和队列。
4.Collection和Collections的区别?(66)
1.Collection是集合类的父接口,实现他的接口有List和Set。
2.Collections是集合工具类,提供了一些静态方法实现对集合的搜素,排序,线程安全等操作。
5.Set集合里的元素是不能重复的,那么用什么方法来区分重复与否?(67)
1.TreeSet子类利用Comparable接口来判断元素是否重复。
2.HashSet子类是使用hashCode()判断对象编码和equals()对象比较来判断。
6.你所知道的集合类都有哪些?主要方法?(68)
List,Set,Map
对于List:添加元素使用add(index,object)在指定位置添加元素
获取元素使用迭代器或者get(index)
删除元素:remove(index)
修改元素:set(index,object)
对于Set有add,remove,contains
对于Map有put,remove,contains
这篇关于2021.1.20Java面试题总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!