Java 中 ArrayList 可以儲存哪些物件?
ArrayList 是 Java 集合框架的一個類,它實現了 List 介面。它是一種線性結構,以順序方式儲存和訪問每個物件。它允許儲存重複值。請始終記住,集合框架的每個類都可以儲存包裝類或自定義物件的例項。它們不適用於基本資料型別。本文旨在解釋 Java 中 ArrayList 如何儲存這些物件。
ArrayList 如何儲存物件
ArrayList 在內部使用陣列來儲存其元素。但是,陣列的大小不是固定的,它可以根據需要增加和減少。建立 ArrayList 時,它具有初始容量,即陣列在調整大小之前可以容納的元素數量。預設初始容量為 10,但我們可以在建構函式中指定它。
當向 ArrayList 新增元素時,它會檢查陣列是否有足夠的空間來儲存新元素。如果有,它只需將元素分配給陣列中下一個可用的槽。如果沒有,它將建立一個新的陣列,其容量是當前大小的兩倍,將所有現有元素從舊陣列複製到新陣列,然後將新元素追加到新建立的陣列中。此過程稱為調整大小或重新雜湊。
當從 ArrayList 中刪除元素時,它會將該位置之後的所有元素向左移動一個索引。這會在陣列末尾建立一個空隙,從而減少 ArrayList 的有效大小,但容量保持不變,直到新增需要調整大小的新元素。
使用 ArrayList 的優點是它可以透過索引快速隨機訪問任何元素,因為它在內部使用陣列。缺點是新增和刪除元素可能很慢,尤其是在涉及調整大小的情況下,因為它需要建立一個新陣列並複製所有元素。
語法
ArrayListcollection_name = new ArrayList<>();
方法
第一步是匯入“java.util”包以啟用 ArrayList 的使用。
然後,定義一個型別為“Integer”的 ArrayList,並使用“add()”方法在其記憶體儲一些元素。
在 main() 方法中,使用 for-each 迴圈迭代到 ArrayList 的大小,以便在螢幕上列印其物件。
示例 1
讓我們看看如何建立 ArrayList 來儲存物件。
import java.util.*; public class ArrayObj { public static void main(String[] args) { // Creating arraylist ArrayList<Integer> araylist = new ArrayList<>(); // Adding elements in arraylist araylist.add(1); araylist.add(2); araylist.add(1); araylist.add(0); araylist.add(9); araylist.add(6); System.out.println("Elements of the list : "); // loop to iterate through elements for(int i = 0; i < araylist.size(); i++ ) { // to print the elements in the list System.out.println(araylist.get(i)); } } }
輸出
Elements of the list : 1 2 1 0 9 6
方法
建立一個名為“Cart”的類,並在其中宣告兩個變數,並定義該類的建構函式以及兩個型別分別為字串和整數的引數。
接下來,我們將使用“toString()”方法將物件的資料轉換為字串。
現在,在 main() 方法中,宣告一個名為“obj”的 ArrayList 集合,型別為“Cart”,並使用名為“add()”的內建方法將物件詳細資訊儲存到集合中。
使用 for-each 迴圈迭代到 ArrayList 的大小,以便在螢幕上列印其物件。
示例 2
在以下示例中,我們將建立一個 ArrayList 來儲存自定義物件。
import java.util.*; public class Cart { String item; int price; Cart(String item, int price) { // this keyword shows these variables belong to constructor this.item = item; this.price = price; } // method for converting object into string public String toString() { return "Item: " + item + ", " + "Price: " + price; } public static void main(String[] args) { // Declaring collection arraylist ArrayList<Cart> obj = new ArrayList<>(); // Adding object to the collection obj.add(new Cart("Rice", 59)); obj.add(new Cart("Milk", 60)); obj.add(new Cart("Bread", 45)); obj.add(new Cart("Peanut", 230)); obj.add(new Cart("Butter", 55)); // to print list of objects System.out.println("The Objects in the List: "); for(Cart print : obj) { System.out.println(print); } } }
輸出
The Objects in the List: Item: Rice, Price: 59 Item: Milk, Price: 60 Item: Bread, Price: 45 Item: Peanut, Price: 230 Item: Butter, Price: 55
結論
我們從定義 ArrayList 開始本文,並在後面的部分詳細解釋了它如何儲存物件。此外,我們討論了兩個示例程式,以便我們更好地理解 ArrayList 中的物件儲存。