Java 集合类共25篇

Java 集合框架是后端开发中处理数据结构的核心模块之一。Java 集合面试题的考察重点包括 List、Set、Map 等常用集合类的底层实现、遍历方式、集合的线程安全性、集合类的性能对比、常见集合的扩容机制、ConcurrentHashMap 的并发处理以及集合与数组的互操作。

面试题:Java 中的 HashMap 和 Hashtable 有什么区别?

在 Java 中,HashMap 和 Hashtable 都是基于哈希表实现的集合类,用于存储键值对(key-value pairs)。尽管它们有相似之处,但在多个方面存在显著差异。以下是两者的主要区别: 1. 线程安全性 H...
程序百科的头像-程序百科程序百科1个月前
339

面试题:Java 中的 WeakHashMap 是什么 ?

WeakHashMap 是 Java 中的一种特殊的哈希映射实现,它位于 java.util 包中。与大多数其他映射不同,WeakHashMap 使用弱引用(Weak Reference)作为其键,这意味着在 WeakHashMap 中存储的键-值...
程序百科的头像-程序百科程序百科1个月前
4910

面试题:Java ArrayList 的扩容机制是什么?

在 Java 中,ArrayList 是一个基于动态数组的数据结构。由于其内部使用数组来存储元素,因此当添加新元素而现有容量不足以容纳这些元素时,就需要进行扩容操作。以下是 ArrayList 的扩容机制的...
程序百科的头像-程序百科程序百科1个月前
5410

面试题:Java 中的 IdentityHashMap 是什么?

IdentityHashMap 是 Java 中 Map 接口的一个特殊实现,位于 java.util 包中。与传统的 HashMap 不同,IdentityHashMap 在比较键是否相等时使用的是对象的引用(reference)而不是对象的内容,也...
程序百科的头像-程序百科程序百科1个月前
5012

面试题:Java 中 ArrayList 和 LinkedList 有什么区别?

在 Java 中,ArrayList 和 LinkedList 都实现了 List 接口,但它们基于不同的数据结构实现,因此在性能、内存使用和适用场景方面存在显著差异。以下是它们的主要区别: 1. 数据结构基础 ArrayLi...
程序百科的头像-程序百科程序百科1个月前
5410

面试题:Java 中的 TreeMap 是什么?

TreeMap 是 Java 中 Map 接口的一种实现,它位于 java.util 包中。与 HashMap 不同,TreeMap 使用红黑树(Red-Black tree)这种自平衡二叉查找树的数...
程序百科的头像-程序百科程序百科1个月前
405

面试题:Java 中的 List 接口有哪些实现类?

Java 中的 List 接口是集合框架的一部分,用于存储有序的集合,并允许重复的元素。它有多个实现类,每个实现类都有其特定的应用场景和特性。以下是几种常见的 List 接口的...
程序百科的头像-程序百科程序百科1个月前
415

面试题:Java 中的 LinkedHashMap 是什么?

LinkedHashMap 是 Java 中 Map 接口的一种实现,它继承自 HashMap 类,并且位于 java.util 包中。LinkedHashMap 不仅保留了 HashMap 的快速查找特性,还通过维护一个双向链表来记录元素的插入顺...
程序百科的头像-程序百科程序百科1个月前
206

面试题:数组和链表在 Java 中的区别是什么?

数组和链表是两种基础的数据结构,在 Java 中它们有着不同的特性和使用场景。以下是数组和链表的主要区别: 1. 数据存储方式 数组:在内存中是连续存储的,这意味着每个元素都紧挨着前一个元素...
程序百科的头像-程序百科程序百科1个月前
4711

面试题:JDK 1.8 对 HashMap 除了红黑树还进行了哪些改动?

在 JDK 1.8 中,除了引入红黑树(用于优化链表过长时的查询效率)外,HashMap 还进行了多项重要改动,以下是主要的优化点: 1. 哈希函数的优化 改进计算方式:在 JDK 1.7 中,HashMap 的哈希值...
程序百科的头像-程序百科程序百科1个月前
3815