1 / 11
文档名称:

Java常见22个面试问题.docx

格式:docx   大小:26KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Java常见22个面试问题.docx

上传人:前程似锦教育 2022/1/6 文件大小:26 KB

下载得到文件列表

Java常见22个面试问题.docx

相关文档

文档介绍

文档介绍:Java常见22个面试问题
Java常见22个面试问题
1
Java常见22个面试问题
Java常有的22个面试问题
和ListIterator 的差别是什么?
下边列出了他们的差别:
Iterator 可用来遍历 Set和List会合,可是 ListIterator 只好用来遍历 List。
Iterator 对会合只好是前向遍历, ListIterator 既能够前向也能够后向。
ListIterator 实现了Iterator 接口,并包括其余的功能,比方:增添元素,替代元素,获得
前一个和后一个元素的索引,等等
(fail-fast) 和安全失败(fail-safe) 的差别是什么 ?
Iterator 的安全失败是鉴于对基层会合做拷贝, 所以,它不受源会合上改正的影响。
包下边的全部的会合类都是迅速失败的,而 包下边的全部的类都是安
全失败的。迅速失败的迭代器会抛出 ConcurrentModificationException 异样,而安全失
败的迭代器永久不会抛出这样的异样。
中的HashMap 的工作原理是什么 ?
Java中的HashMap 是以键值对(key-value) 的形式
Java常见22个面试问题
Java常见22个面试问题
2
Java常见22个面试问题
储存元素的。HashMap 需要一个 hash
函数,它使用 hashCode() 和equals()方法来向会合/从会合增添和检索元素。当调用 put()
方法的时候,HashMap 会计算key的hash值,而后把键值对储存在会合中适合的索引上。
假如key 已经存在了, value 会被更新成新值。 HashMap 的一些重要的特征是它的容量
(capacity) ,负载因子(loadfactor) 和扩容极限(thresholdresizing) 。
() 和equals()方法的重要性表此刻什么地方 ?
Java中的HashMap 使用hashCode() 和equals()方法来确立键值对的索引, 当依据键获得
值的时候也会用到这两个方法。 假如没有正确的实现这两个方法, 两个不一样的键可能会有相
同的hash值,所以,可能会被会合认为是相等的。 并且,这两个方法也用来发现重复元素。
所以这两个方法的实现对 HashMap 的精准性和正确性是至关重要的。
Java常见22个面试问题
Java常见22个面试问题
10
Java常见22个面试问题
和Hashtable 有什么差别?
HashMap 和Hashtable 都实现了 Map 接口,所以好多特征特别相像。可是,他们有以下
不一样点:
HashMap 同意键和值是 null,而Hashtable 不一样意键或许值是 null。
Hashtable 是同步的,而 HashMap 不是。所以, HashMap 更适合于单线程环境,而
Hashtable 适合于多线程环境。
HashMap 供给了可供给用迭代的键的会合,所以, HashMap 是迅速失败的。另一方面,
Hashtable 供给了对键的列举 (Enumeration) 。
一般认为 Hashtable 是一个遗留的类。
(Array)和列表(ArrayList) 有什么差别?什么时候应当使用 Array 而不是
ArrayList?
下边列出了 Array 和ArrayList 的不一样点:
Array 能够包括基本种类和对象种类, ArrayList 只好包括对象种类。
Array 大小是固定的, ArrayList 的大小是动向变化的。
ArrayList
供给了更多的方法和特征,比方:
addAll(),removeAll()
,iterator()
等等。
关于基本种类数据,会合使用自动装箱来减少编码工作量。
可是,当办理固定大小的基本数
据种类的时候,这类方式相对照较慢。
和LinkedList有什么差别?
ArrayList
和LinkedList都实现了List接口,他们有以下的不一样点:
ArrayList
是鉴于索引的数据接口,它的基层是数组。它能够以
O(1)时间复杂度对元素进行
随机接见。与此对应,LinkedList是以元素列表的形式储存它的数据,
每一个元素都和它的
前一个和后一个元素链接在一同,在这类状况下,查找某个元素的时间复杂度是
O(n)
Java常见22个面试问题
Java常见22个面试问题
5
Java常见22个