我试图理解Java Collections Framework如何在默认情况下对其集合进行排序,但我感到困惑,因为我读到所有集合都是使用合并排序进行排序的。但是,当我查看Array类时,我看到了这一点:只要规范本身得到遵守,实现者就可以随意替换其他算法。(例如,bysort(Object[])使用的算法不必是合并排序,但它必须是稳定的。)»这意味着它还使用其他排序算法。那么,集合到底是如何排序的呢?
发布于 2013-03-19 23:54:26
对集合进行排序的代码随JRE/JDK一起提供。
实现JRE/JDK的任何人都可以选择以任何他想要的方式实现它,只要它是符合的(即它实际上正确地对集合进行了排序,并且排序是稳定的)。
一些实现可能选择合并排序,其他实现可能选择其他方式。不需要特定的实现。
https://stackoverflow.com/questions/15504174
复制相似问题