java - while(true) 和集合

标签 java collections while-loop

我无法理解这两个代码之间的区别;

public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    while (true) {
      list.add("Hello");
    }
  }

它会在一秒钟内抛出 java.lang.OutOfMemoryError

public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    while (true) {
      list.add("Hello");
      System.out.println(list.size());  // Simply display the size of List
    }
  }

5 分钟后 抛出 java.lang.OutOfMemoryError,其中 list.size() 的值为 20767725。

最佳答案

简单地说 - 显示 2000 万行文本需要相当长的时间。

证明这一点很容易。运行这段代码:

for (int x = 0; x < 20767725; x++) {
    System.out.println(x);
}

我想这也需要大约 5 分钟。

关于java - while(true) 和集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19420069/

相关文章:

java - 从SD卡读取文件时如何显示进度条

c# - .NET HashTable 与 Dictionary - Dictionary 能一样快吗?

PHP while 语句只适用于一行

python - "while"循环问题

loops - Lisp,虽然 CLISP 函数未定义错误?

java - c#中的静态导入

java - 安卓 : Get day of the week from date?

java - Maven IDEA 插件(或 eclipse 插件)

java - Java 中的复杂数据结构 一个类中的多级集合(列表)

java - 如何将具有整数值的条目添加到 Map<String, ?>