gpt4 book ai didi

Java Collections.rotate() 实现算法

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

它对小列表使用杂耍算法,对大列表或链表使用反转算法。为什么不使用用于小型或随机访问列表的 block 交换算法?它在 vector 的实验运行中表现更好。

最佳答案

我们无法告诉您为什么 Java 开发人员没有这样做:

  • 也许他们并不知道您所说的性能结果
  • 也许他们知道但不认为性能差异会很大(在所有 Java 用例中)
  • 也许他们已经尝试过您的想法,但没有显着的好处
  • 也许他们知道这个问题,但更优先考虑其他问题。

请记住,Java 团队(主要)受雇于 Oracle,而 Oracle 管理层为 Java 的发展制定了议程和优先事项。


如果你只是出于好奇问这个问题,我们可以到此为止。

如果您问这个是因为您认为“应该做某事”,那么我建议如下:

  1. 开发一个像样的微基准来测试 rotate() 对各种集合类型、各种集合大小的性能。 (使用JMH ...)

  2. 修改相关类的代码,以“更好”的方式实现rotate()

  3. 对您的版本和现有版本进行基准测试并比较结果。

  4. 如果差异很大,请为实现您的修改的最新版本的 OpenJDK 提交补丁。包括您的基准和结果作为支持证据。

这不一定会达到您想要的结果,但比提交 RFE 并依靠 OpenJDK 团队完成所有跑腿工作更有可能成功。

关于Java Collections.rotate() 实现算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50212335/

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