Java ArrayList ensureCapacity() 方法

ensureCapacity() 方法的语法是

arraylist.ensureCapacity(int minCapacity)

在这里,arraylist对象ArrayList 类的一个 对象


ensureCapacity() 参数

ensureCapacity() 方法接受一个参数。

  • minCapacity - 指定的 ArrayList 的最小容量

ensureCapacity()返回值

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


示例 1:Java ArrayList ensureCapacity()

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> 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]

在上面的示例中,我们创建了一个名为 languages 的 ArrayList。请注意这一行:

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<String> 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() 方法将 ArrayList 的容量调整为可以存储 3 个元素。但是,当我们向 ArrayList 中添加第 4 个元素时,ArrayList 会自动调整大小。

那么,既然 ArrayList 可以自动调整大小,为什么我们还需要使用 ensureCapacity() 方法来调整 ArrayList 的大小呢?

这是因为如果我们使用 ensureCapacity() 来调整 ArrayList 的大小,那么 ArrayList 将会一次性以指定的容量进行调整。否则,每次添加元素时,ArrayList 都会调整大小。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战