暂无个人介绍
HashMap 底层采用数组、链表与红黑树结合的结构。通过 key 的 hashCode 定位数组索引,实现高效存取。当发生哈希冲突时,使用链表解决;链表过长则转化为红黑树,提升查找效率至 O(log n)。扩容时,默认容量为16,负载因子0.75,容量翻倍并重新计算索引。Put 方法流程包括:计算 hash、初始化数组、确定索引、处理冲突(链表或红黑树),并根据情况扩容或树化。
Java 中常见的数据结构包括线性结构(如动态数组、链表、栈、队列)和非线性结构(如优先级队列、哈希表、红黑树、跳表、B+树)。常用集合类分为 List(如 ArrayList、LinkedList、Vector)、Set(如 HashSet)和 Map(如 HashMap、TreeMap、ConcurrentHashMap)等,各自适用于不同场景,兼顾性能与线程安全。