Java 中 ArrayList 可以儲存哪些物件?


ArrayList 是 Java 集合框架的一個類,它實現了 List 介面。它是一種線性結構,以順序方式儲存和訪問每個物件。它允許儲存重複值。請始終記住,集合框架的每個類都可以儲存包裝類或自定義物件的例項。它們不適用於基本資料型別。本文旨在解釋 Java 中 ArrayList 如何儲存這些物件。

ArrayList 如何儲存物件

ArrayList 在內部使用陣列來儲存其元素。但是,陣列的大小不是固定的,它可以根據需要增加和減少。建立 ArrayList 時,它具有初始容量,即陣列在調整大小之前可以容納的元素數量。預設初始容量為 10,但我們可以在建構函式中指定它。

當向 ArrayList 新增元素時,它會檢查陣列是否有足夠的空間來儲存新元素。如果有,它只需將元素分配給陣列中下一個可用的槽。如果沒有,它將建立一個新的陣列,其容量是當前大小的兩倍,將所有現有元素從舊陣列複製到新陣列,然後將新元素追加到新建立的陣列中。此過程稱為調整大小或重新雜湊。

當從 ArrayList 中刪除元素時,它會將該位置之後的所有元素向左移動一個索引。這會在陣列末尾建立一個空隙,從而減少 ArrayList 的有效大小,但容量保持不變,直到新增需要調整大小的新元素。

使用 ArrayList 的優點是它可以透過索引快速隨機訪問任何元素,因為它在內部使用陣列。缺點是新增和刪除元素可能很慢,尤其是在涉及調整大小的情況下,因為它需要建立一個新陣列並複製所有元素。

語法

ArrayList collection_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 中的物件儲存。

更新於: 2023-07-21

117 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告