排序
面试题:说说 Java 中 HashMap 的原理?
Java 中的 HashMap 是一种基于哈希表实现的键值对(key-value)映射结构,它允许我们快速地根据键来存储和检索值。下面详细介绍 HashMap 的工作原理: 1. 基本概念 哈希表:HashMap 内部使用数...
面试题:使用 HashMap 时,有哪些提升性能的技巧?
在使用 HashMap 时,为了提升性能可以采取多种策略和技巧。以下是一些关键点: 1. 初始化容量(Initial Capacity) 合理设置初始容量:HashMap 的容量是哈希表的桶数。如果预先知道将要存储多少...
面试题:什么是 Hash 碰撞?怎么解决哈希碰撞?
什么是哈希碰撞? 哈希碰撞是指不同的输入通过哈希函数计算后得到了相同的哈希值的情况。在哈希表(如 Java 中的 HashMap)中,键(Key)首先会被转换成一个哈希码(hashCode),然后这个...
面试题:Java 的 CopyOnWriteArrayList 和 Collections.synchronizedList 有什么区别?分别有什么优缺点?
CopyOnWriteArrayList 和 Collections.synchronizedList() 都是 Java 中用于实现线程安全的列表操作的方式,但它们的工作机制、适用场景和性能特点有着显著的不同。以下是两者的...
面试题:Java 中有哪些集合类?请简单介绍
Java 提供了丰富的集合框架(Collections Framework),它包括了一系列用于存储和操作对象组的接口和类。以下是 Java 集合框架中一些主要的集合类及其简单介绍: 1. List 接口实现类 ArrayList...
面试题:数组和链表在 Java 中的区别是什么?
数组和链表是两种基础的数据结构,在 Java 中它们有着不同的特性和使用场景。以下是数组和链表的主要区别: 1. 数据存储方式 数组:在内存中是连续存储的,这意味着每个元素都紧挨着前一个元素...
面试题:Java 中的 List 接口有哪些实现类?
Java 中的 List 接口是集合框架的一部分,用于存储有序的集合,并允许重复的元素。它有多个实现类,每个实现类都有其特定的应用场景和特性。以下是几种常见的 List 接口的...
面试题:Java 中 ArrayList 和 LinkedList 有什么区别?
在 Java 中,ArrayList 和 LinkedList 都实现了 List 接口,但它们基于不同的数据结构实现,因此在性能、内存使用和适用场景方面存在显著差异。以下是它们的主要区别: 1. 数据结构基础 ArrayLi...
面试题:Java ArrayList 的扩容机制是什么?
在 Java 中,ArrayList 是一个基于动态数组的数据结构。由于其内部使用数组来存储元素,因此当添加新元素而现有容量不足以容纳这些元素时,就需要进行扩容操作。以下是 ArrayList 的扩容机制的...
面试题:Java 中的 HashMap 和 Hashtable 有什么区别?
在 Java 中,HashMap 和 Hashtable 都是基于哈希表实现的集合类,用于存储键值对(key-value pairs)。尽管它们有相似之处,但在多个方面存在显著差异。以下是两者的主要区别: 1. 线程安全性 H...