java - 我如何使用 Java 以有效的方式对具有 10^6 位数字的数组进行排序

标签 java

我如何使用 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/

相关文章:

java - 使用 Java 和 Angular.js 的 Google AppEngine 中的 OPTIONS 方法出现 404

java - 如何确保将在构造函数中传递的两个 vector 大小相等?

Java VisualVM 从 tomcat 获取 HeapDump 但 Tomcat 未在本地应用程序下列出

java - swing jtable默认显示多行

java - Android Studio 中已弃用 HttpParams 和 NameValuePair

java - 如何初始化默认控制台 I/O 流

java - 如何将值注入(inject)模拟对象的构造函数或通过 setter?我收到意外的调用错误

java - 理解Java中字节的掩码

Java 当向左移动位时,溢出不会消失但会出现在另一边

java - Spring Security 记住我