java - 有没有更快的方法来生成 N 整数列表

标签 java

好吧,我知道这是一个非常新手的问题,但我没有想到什么。目前我正在尝试这样做,但对于如此大的数字来说,这是效率最低的方法。任何人都可以帮助我。

int count = 66000000;
LinkedList<Integer> list = new LinkedList<Integer>();
        for (int i=1;i<=count;i++){
            list.add(i);
            //System.out.println(i);
        }

编辑:

实际上,我有 o 对整个列表(队列)重复执行操作(比如在某个条件下删除一些元素并再次添加),因此不得不迭代整个列表变得如此缓慢,以至于需要超过 10 分钟的时间。

最佳答案

您的输出大小为 O(n),因此几乎不可能有一种算法能够比 O(n) 时间复杂度更有效地填充您的列表。

与实际生成列表相比,将数字打印到屏幕上所花费的时间要多得多。如果你真的想加速这段代码,删除

System.out.println(i);

另外,我注意到您正在使用 LinkedList,如果您使用数组(或基于数组的列表),它应该会更快。

关于java - 有没有更快的方法来生成 N 整数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031103/

相关文章:

java - 在java中保留Timer.schedule的调用堆栈

java - Recyclerview 在 Debug模式下显示数据但在正常运行时不工作

java - Jenkins 和Java : How to specify input file location

java - 运行时权限不适用于 API 级别 28

java - @ElementCollection : Error Could not determine type for: java. util.Set,用于列

java - Tomcat 服务器分发许可证 key

java - &lt;input message ant 显示输入的内容

java - Java中如何实现霍夫圆

java - Java中的切片字符串

java - 在字符串中使用 ==