gpt4 book ai didi

java - 使用自定义排序规则对 int(非整数)数组进行排序

转载 作者:行者123 更新时间:2023-12-01 14:58:36 24 4
gpt4 key购买 nike

我需要使用自定义排序规则对大约 100000 个整数进行排序。如果我使用 Comparator,我需要有一个数组 Integer 实例,它的创建速度较慢,排序速度较慢并且占用更多内存。

在搭载 Android 4.2 的 Galaxy Nexus 上进行快速基准测试:

createIntArrayAndFillWith1to100000; // 18 ms
createIntegerArrayAndFillWith1to100000; // 191 ms (using Integer.valueOf(i))
Arrays.sort(randomInts); // 354 ms
Arrays.sort(randomIntegers, simpleComparator); // 1734 ms

实现自定义排序是我的最佳选择吗?

最佳答案

我认为唯一的方法是自己对元素数据类型 int 的数组实现排序算法。 Java 库不提供每种基本数据类型的版本。装箱/拆箱就是答案。

我会简单地实现一个排序算法来满足这种特殊需要。 (如果速度真的这么重要的话)使用快速排序进行就地排序非常容易实现 quicksort (wikipedia)

关于java - 使用自定义排序规则对 int(非整数)数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14004456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com