當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java ArrayList trimToSize()用法及代碼示例


Java ArrayList trimToSize() 方法修剪(設置)arraylist 的容量等於arraylist 中的元素數。

用法:

arraylist.trimToSize();

這裏,arraylistArrayList 類的對象。

參數:

trimToSize() 方法不帶任何參數

返回:

trimToSize() 方法不返回任何值。相反,它隻會改變數組列表的容量。

示例 1:Java ArrayList trimToSize()

import java.util.ArrayList;

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

        // add element to ArrayList
        languages.add("Java");
        languages.add("Python");
        languages.add("JavaScript");
        System.out.println("ArrayList: " + languages);

        // trim capacity to 3
        languages.trimToSize();
        System.out.println("Size of ArrayList: " + languages.size());
    }
}

輸出

ArrayList: [Java, Python, JavaScript]
Size of ArrayList: 3

在上麵的示例中,我們創建了兩個名為 languages 的數組列表。數組列表包含 3 個元素。注意線,

languages.trimToSize();

在這裏,trimToSize() 方法將arraylist 的容量設置為等於languages 中的元素數(即3)。

我們使用了ArrayList size() 方法來獲取arraylist 中的元素數量。

ArrayList的優勢trimToSize()

我們知道,容量ArrayList是動態變化的。所以使用 ArrayList trimToSize() 方法有什麽好處?

要了解 trimToSize() 方法的優勢,我們需要研究 ArrayList 的工作原理。

在內部,ArrayList 使用一個數組來存儲它的所有元素。現在,在某個時候,數組將被填充。當內部陣列已滿時,將創建一個新陣列,其容量是當前陣列的 1.5 倍。並且,所有元素都被移動到新數組中。

例如,假設內部數組已滿,我們隻需要添加1元素。在這裏,ArrayList將以相同的比率擴展(即前一個數組的 1.5 倍)。

在這種情況下,內部數組中會有一些未分配的空間。因此,trimToSize() 方法刪除了未分配的空間並將arraylist 的容量更改為等於arraylist 中元素的數量。

ArrayList trimToSize() 方法的這種工作對用戶不可見。

相關用法


注:本文由純淨天空篩選整理自 Java ArrayList trimToSize()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。