📜  Java ArrayList sureCapacity()

📅  最后修改于: 2020-09-27 00:20:06             🧑  作者: Mango

Java ArrayList sureCapacity()方法设置具有指定容量的arraylist的大小。

ensureCapacity()方法的语法为:

arraylist.ensureCapacity(int minCapacity)

在这里, arraylistArrayList类的对象。


sureCapacity()参数

ensureCapacity()采用单个参数。

  • minCapacity-数组列表的指定最小容量

sureCapacity()返回值

ensureCapacity()方法不返回任何值。


示例1:Java ArrayList sureCapacity()
import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList languages= new ArrayList<>();

    // set the capacity of the arraylist
    languages.ensureCapacity(3);

    // Add elements in the ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("C");
    System.out.println("ArrayList: " + languages);
  }
}

输出

ArrayList: [Java, Python, C]

在上面的示例中,我们创建了一个名为language的数组列表。注意这一行,

languages.ensureCapacity(3);

在这里, ensureCapacity()方法调整了arraylist的大小以存储3个元素。

但是,Java中的ArrayList可动态调整大小。也就是说,如果我们在arraylist中添加3个以上的元素,它将自动调整自身大小。例如,

示例2:ensureCapacity()的工作
import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList languages= new ArrayList<>();

    // set the capacity of the arraylist
    languages.ensureCapacity(3);

    // Add elements in the ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("C");

    // add 4th element
    languages.add("Swift");
    System.out.println("ArrayList: " + languages);
  }
}

输出

ArrayList: [Java, Python, C, Swift]

在上面的示例中,我们使用ensureCapacity()方法调整数组列表的大小以存储3个元素。但是,当我们在arraylist中添加第4个元素时,arraylist会自动调整大小。

那么, 如果arraylist可以自动调整自身大小为什么还要使用guaranteeCapacity()方法调整arraylist的大小呢?

这是因为如果我们使用ensureCapacity()调整数组列表的大小,那么将立即以指定的容量调整数组列表的大小。否则,每次添加元素时都会调整arraylist的大小。