Java 集合类共48篇

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

面试题:简述ConcurrentHashMap 和 Hashtable 的区别 ?

ConcurrentHashMap 和 Hashtable 都是 Java 中线程安全的键值对集合,但它们在实现方式、性能和使用场景上有显著区别。以下是两者的主要区别: 1. 锁的粒度 Hashtable: 使...
程序百科的头像-程序百科程序百科1个月前
0277

面试题:简述HashMap 的长度为什么是2的幂次方 ?

HashMap 的底层数组(table)的长度始终是 2 的幂次方(如 16、32、64 等),这是为了优化性能并简化哈希值的映射过程。以下是具体原因: 1. 高效的下标计算 HashMap 通过 (n - 1) ...
程序百科的头像-程序百科程序百科1个月前
03812

面试题:简述HashMap为什么不直接使用hashCode()处理后的哈希值直接作 为table的下标 ?

HashMap 是 Java 中基于哈希表实现的键值对存储结构。虽然 hashCode() 方法返回一个整型哈希值,但 HashMap 并不会直接使用这个哈希值作为数组(table)的下标,原因...
程序百科的头像-程序百科程序百科1个月前
03210

面试题:简述如果使用Object作为HashMap的Key,应该怎么办呢 ?

在Java中,HashMap是基于哈希表实现的,它要求键(Key)必须是唯一的,并且能够正确地计算哈希值。如果使用Object作为HashMap的键,需要注意以下几点: 重写equals()方法: HashMap在查找键时,...
程序百科的头像-程序百科程序百科1个月前
04915

面试题:HashMap是怎么解决哈希冲突的 ?

HashMap 是 Java 中最常用的键值对存储结构,它通过哈希表实现高效的查找、插入和删除操作。哈希冲突是指不同的键通过哈希函数计算后得到相同的哈希值,从而导致它们需要存储在哈希表的同...
程序百科的头像-程序百科程序百科1个月前
0506

面试题:简述HashMap在JDK1.7和JDK1.8中有哪些不同?HashMap的底层实现 ?

HashMap 是 Java 中最常用的集合类之一,用于存储键值对。在 JDK 1.7 和 JDK 1.8 中,HashMap 的实现有一些重要的改进和优化。以下是它们的主要区别和底层实现的详细说明。 1. H...
程序百科的头像-程序百科程序百科1个月前
04312

面试题:简述HashSet如何检查重复?HashSet是如何保证数据不可重复的 ?

HashSet 是 Java 集合框架中的一个类,它实现了 Set 接口,用于存储不重复的元素。HashSet 保证数据不可重复的机制主要依赖于 哈希表 和 equals 与&nb...
程序百科的头像-程序百科程序百科1个月前
0436

面试题:简述为什么 ArrayList 的 elementData 加上 transient 修饰?

在 ArrayList 的源码中,elementData 数组被声明为 transient,即: transient Object[] elementData; transient 关键字的作用是 阻止该字段被默认的序列化机制...
程序百科的头像-程序百科程序百科1个月前
02513