它将Juggling Algorithm用于小型列表,并将逆向算法用于大型或链接列表。为什么不对小型或随机访问列表进行块交换算法?在矢量的实验运行中,它的性能更好。
答案 0 :(得分:1)
我们无法告诉您为什么Java开发人员没有这样做:
请记住,Java团队(主要)受雇于Oracle,Oracle管理层为Java的发展设定了议程和优先事项。
如果您只是出于好奇而问这个问题,我们可以在这里结束。
如果您因为认为“应该做某事”而提出此问题,那么我建议如下:
开发一个不错的微基准来测试rotate()
对各种收集类型(各种收集大小)的性能。 (使用JMH ......)
对相关类进行代码修改,以“更好”的方式实施rotate()
。
对您的版本和现有版本进行基准测试并比较结果。
如果差异很大,请提交最新版本的OpenJDK补丁,以实现您的修改。将您的基准和结果作为支持证据包括在内。
这不一定能达到您想要的效果,但它比提交RFE并依赖OpenJDK团队完成所有工作更有可能取得成功。