八股
文章平均质量分 92
上官婉er
菜鸡一枚
准备实习ing,总结自己平时遇到的问题
展开
-
HashMap 的长度为什么是 2 的幂次方
快速计算索引:HashMap 使用取模运算来计算元素在数组中的索引,取模运算中的除数应当是 2 的幂次方。当数组长度为 2 的幂次方时,可以使用位运算(& 操作)来替代取模运算,提高计算效率。均匀分布:当数组长度为 2 的幂次方时,HashMap 使用元素的哈希码的低几位来计算索引,这样可以保证元素在数组中的分布更加均匀,减少哈希冲突的概率。※扩容效率(快速计算各元素的新下标):当数组长度为 2 的幂次方时,HashMap 进行扩容时可以通过位运算来重新计算元素的索引,而不需要重新计算哈希码,提高了扩容原创 2024-03-06 14:39:38 · 1759 阅读 · 0 评论 -
Java是值传递还是引用传递
当传的是基本类型时,传的是值的拷贝,对拷贝变量的修改不影响原变量;当传的是引用类型时,传的是,但是拷贝的地址和真实地址指向的都是同一个真实数据,因此可以修改原变量中的值;当传的是String类型时,虽然拷贝的也是引用地址,指向的是同一个数据,但是String的值不能被修改,因此无法修改原变量中的值。(后面说一下String为什么不可变)当传的是数组时,传的是数组地址的拷贝,和上述的引用类型一样,都同一个数据。思考原因:在做leetcode226时突然把swap函数写成。原创 2024-03-05 16:08:55 · 855 阅读 · 2 评论