Java 集合类共48篇

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

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

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

面试题:Java 中的 HashSet,内部是如何工作的?

HashSet 是 Java 集合框架中的一个类,它实现了 Set 接口,用于存储不重复的元素。HashSet 的内部实现基于 HashMap,以下是它的工作原理: 基于 HashMap 实现:HashSe...
程序百科的头像-程序百科程序百科1个月前
03610

面试题:ArrayList和Vector有何异同点?

1. 相同点 底层实现: ArrayList和Vector都是基于动态数组实现的,可以动态调整容量。 允许元素: 两者都允许存储null值和重复元素。 索引访问: 两者都支持通过索引快速访问元素(时间复...
程序百科的头像-程序百科程序百科1个月前
02714

面试题:Java集合类框架的基本接口有哪些?

Java 集合框架(Java Collections Framework)提供了一套丰富的接口和类来存储和操作数据。这些接口定义了集合的基本行为,是集合框架的核心。以下是 Java 集合框架中的基本接口: 1. Coll...
程序百科的头像-程序百科程序百科1个月前
0795

面试题:简述迭代器 Iterator 是什么 ? Iterator 怎么使用?有什么特点?

什么是 Iterator(迭代器)? 在Java中,Iterator是一个用于遍历集合(如List、Set等)元素的对象。它提供了一种统一的方式来访问集合中的元素,而无需暴露集合的内部表示。Iterator是Java集合...
程序百科的头像-程序百科程序百科1个月前
0417

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

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

面试题:简述Java用哪两种方式来实现集合的排序?

在Java中,可以通过以下两种方式来实现集合的排序: 实现 Comparable 接口: Comparable 接口 是 Java 提供的一个接口,用于定义对象的自然排序规则。 如果一个类实现了 Comparable 接口,那么...
程序百科的头像-程序百科程序百科1个月前
04213

面试题:Array和ArrayList有何区别?什么时候更适合用Array?

1. Array和ArrayList的区别 特性Array(数组)ArrayList类型是Java中的基本数据结构是Java集合框架的一部分容量固定容量固定,创建后不能改变容量动态增长,自动扩容类型支持可以存储基本...
程序百科的头像-程序百科程序百科1个月前
0538

面试题:简述 如何边遍历边移除 Collection 中的元素 ?

在Java中,直接尝试在遍历Collection的同时对其进行结构上的修改(如添加或删除元素)会导致ConcurrentModificationException异常。这是因为大多数集合类都实现了“快速失败”机制来检测并发修...
程序百科的头像-程序百科程序百科1个月前
0347

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

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