【问题标题】:What is the difference between ArrayList al = new ArrayList(); and ArrayList al = new ArrayList(0)?ArrayList al = new ArrayList(); 有什么区别?和 ArrayList al = new ArrayList(0)?
【发布时间】:2011-01-12 06:42:39
【问题描述】:

ArrayList al = new ArrayList(); 有什么区别?和 ArrayList al = new ArrayList(0)?

【问题讨论】:

  • new ArrayList() 等价于(并且可能在以下方面实现)new ArrayList(10)
  • 可能是 JVM 分配内存的差异。

标签: java


【解决方案1】:
ArrayList(0) 

具有指定初始容量的空列表。 0

ArrayList() 

初始容量为 10 的空列表。

请阅读以下内容:http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

【讨论】:

    【解决方案2】:

    如果您查看API,它会说, ArrayList() - 构造一个初始容量为 10 的空列表。

    ArrayList(int initialCapacity) - 构造一个具有指定初始容量的空列表。

    【讨论】:

    【解决方案3】:

    new ArrayList() 为您提供一个具有默认初始容量的数组列表(最初从 ArrayList 分配了多少内存)。 new ArrayList(0) 为您提供一个初始容量为零的数组列表。只要将一个元素添加到列表中,就会分配容量。

    【讨论】:

      猜你喜欢
      • 2011-06-03
      • 2012-09-29
      • 2015-12-07
      • 1970-01-01
      • 2014-07-22
      • 2017-05-08
      • 1970-01-01
      • 2013-12-20
      • 1970-01-01
      相关资源
      最近更新 更多