JAVA原理简答题

编程入门 行业动态 更新时间:2024-10-19 11:41:55

JAVA原理<a href=https://www.elefans.com/category/jswz/34/1746292.html style=简答题"/>

JAVA原理简答题

集合和数组的比较

答:(1)相同点:都是数据的容器,在数组或集合中都可以存储多个数据

(2)不同点:A)数组中的元素都是相同的类型(基本类型和引用类型);集合中的元素可以是任意类型(但只可以存引用类型)

B)长度:数组是定长;集合长度可以修改

C)效率方面数组更高

简述List、Set、Collection、Map的区别和联系。

答:(1)Collection接口存储一组不唯一,无序的对象

(2)List接口存储一组不唯一,有序(插入顺序)的对象

(3)Set接口存储一组唯一,无序的对象

(4)Map接口存储一组键值对,提供key到value的映射。Key无序,唯一;value可以重复。如果只使用key存储,不使用value那就是Set

ArrayList和LinkedList的区别和联系。它们的底层分别是用什么实现的?

答:(1)ArrayList:

a)分配了连续的空间,是长度可变的数组

b)优点:遍历 随机访问元素效率高

c)缺点:添加删除元素要移动大量元素效率低,按照内容查询效率低

d)使用无参数构造方法创建ArrayList对象时,默认底层数组长度是0.第一次添加元素,数组的容量为初始容量10和第一次添加元素个数的较大值

e)容量不足时进行扩容,为原来的1.5倍(增长50%),还不够的话就增长到能融入元素的最小值

f)ArrayList可以使用迭代器遍历

(2)LinkedList:

A) 采用双相链表存储方式

B) 优点:插入删除效率高(前提是必须先低效率查询。如果删除发生在头尾可以减少查询次数)

C) 缺点:遍历和随机访问元素效率低

D) LinkedList实现了Deque接口,可以当做队列和栈使用

(3)使用场景

大量的根据索引查询的操作,大量的遍历操作(按照索引0--n-1逐个查询一般),建议使用ArrayList

* 如果存在较多的添加、删除操作,建议使用LinkedList

* 建议 * List list = new ArrayList();

* 不建议 * ArrayList list = new ArrayList();

每个对象都有一个哈希码吗?哈希码是根据什么生成的?会不会重复?

答:是的;Object类当中的hashcode()进行获取;同一个对象的哈希码是不会重复的

HashSet采用了哈希表作为存储结构,请说明哈希表的特点和实现原理。

提示:结合Object类的hashCode()和equals()说明其原理

Vector和ArrayList的区别和联系。

请你简述HashMap和Hashtable的区别?

使用泛型有什么好处?

Collection和Collections有什么区别?

更多推荐

JAVA原理简答题

本文发布于:2024-03-23 23:41:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1744215.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:简答题   原理   JAVA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!