Java Primitive包含用于基于自定义比较器对基本数组进行排序的功能。使用它和Java 8,你的示例可以编写为:
double[] array = new double[1048576];...Primitive.sort(array, (d1, d2) -> Double.compare(d2, d1), false);
如果你使用的是Maven,则可以将其包含在:
<dependency> <groupId>net.mintern</groupId> <artifactId>primitive</artifactId> <version>1.2.1</version></dependency>
当你将
false第三个参数传递给时
sort,它将使用不稳定的排序,这是Java内置的
double-pivot quicksort的简单编辑。这意味着速度应接近内置分拣的速度。



