长[]数组和长[]数组之间的java差异? 5 月,2 周 Questions & Answers 40 长数组(long[] arr)和长数组(Long[] arr)之间有什么区别吗 排序的复杂性是一样的吗
# 2 楼答案 使用Arrays.sort对long[]和Long[]进行排序将涉及不同的排序算法:long[]使用“双枢轴快速排序”进行排序,而long[]使用“tim排序”(合并排序的一个版本)进行排序。它们将具有相同的O(n log n)渐近时间复杂度,但常数乘数可能不同。对long[]之类的原语和原语数组的操作通常比对包装器对象的操作更有效
# 1 楼答案
Long[]
是一个对象数组,而long[]
是一个原语数组。排序的复杂性对于两者都是一样的,但通过将原语包装到对象中,会引入额外的内存开销# 2 楼答案
使用
Arrays.sort
对long[]
和Long[]
进行排序将涉及不同的排序算法:long[]使用“双枢轴快速排序”进行排序,而long[]使用“tim排序”(合并排序的一个版本)进行排序。它们将具有相同的O(n log n)
渐近时间复杂度,但常数乘数可能不同。对long[]
之类的原语和原语数组的操作通常比对包装器对象的操作更有效