gpt4 book ai didi

java - 使用自定义比较器对基元数组进行排序,而不转换为对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:00:00 24 4
gpt4 key购买 nike

在 Java 中使用自定义比较器(或键)函数对原始数组进行排序的最简单方法是什么?无需转换为对象数组(为了性能 †)。

†(只是预防措施,我不是在问从性能 POV 来看不转换为对象是否是一个好的决定。)

最佳答案

标准 Java 库不支持使用自定义比较器对原始值数组进行排序。

您可以轻松地从头开始实现简单的排序(例如 bubblesort - O(N^2) ),但问题是对于足够大的数组,您可以通过不转换为盒装来节省类型在效率较低的排序算法中丢失。

所以你的选择是:

  • 从头开始实现高性能排序(归并排序、改进的快速排序等)。

  • 为不支持比较器的原始类型找到现有的高性能排序,并对其进行修改。

  • 看看您是否可以找到支持适度数组和比较器的合适的第 3 方库。 (我还没找到……)

(注意:Comparator 接口(interface)在这里不起作用。它不适合比较原始类型。)

关于java - 使用自定义比较器对基元数组进行排序,而不转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22666377/

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