我如何使用 Java 以有效的方式对具有 10^6 位数字的数组进行排序
我很确定我们可以用字符串来做到这一点
但是在Java中有没有不使用字符串的其他方法呢?
最佳答案
使用 BigInteger 并利用 Java 的排序 API
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<BigInteger> list = new ArrayList<>();
list.add(new BigInteger("12"));
list.add(new BigInteger("1223876987587658765876732097234987236497823649287346987324609234786923748601298763290444"));
list.add(new BigInteger("126235812763548126375182763518236512983761927836012983719274629183746912874612948761298746912837342"));
list.add(new BigInteger("32342"));
Collections.sort(list);
System.out.println(list);
}
}
这打印:
[12, 32342, 1223876987587658765876732097234987236497823649287346987324609234786923748601298763290444, 126235812763548126375182763518236512983761927836012983719274629183746912874612948761298746912837342]
关于java - 我如何使用 Java 以有效的方式对具有 10^6 位数字的数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45317098/