Java ArrayList中不能儲存哪種資料型別?


ArrayList是物件的動態列表,你不能在ArrayList中儲存原始值,例如int、double、char或long。Java中包裝類的建立允許儲存原始資料型別,並且這些型別的每個物件都為其各自的原始資料型別(int、double、short或byte)儲存單個值。要在像JLists或ArrayLists這樣的Java結構中使用原始資料型別(這些結構需要物件),我們需要使用包裝器,本文解釋瞭如何使用ArrayList儲存簡單資料型別,例如int和char。

原始資料型別不能儲存在ArrayList中

Collection介面只接受物件,包括ArrayList(一種List型別)。Collection物件的迭代只能使用物件資料型別完成,不能使用原始資料型別。因此,不能在ArrayList中儲存int,必須首先使用add()方法將其轉換為Integer。必須逐個新增每個int才能實現此目的。

案例

ArrayList中的整數

為了將int新增到ArrayList,必須先將其轉換為Integer。可以使用add方法執行此任務,但是必須分別新增每個int。例如,讓我們取一個包含3個值的int陣列。如果要將這些int作為Integer附加到ArrayList,則需要仔細遍歷每個int,並使用for迴圈操作分別包含它們。再次說明,在使用add()方法時,可以毫無問題地傳遞Integer型別的值;但是,如果需要像在這種情況下,將int新增到只包含Integer的ArrayList需要先進行型別轉換,然後再新增。

示例

// Java Program that uses ArrayList of Integer Values
import java.util.ArrayList;
public class demo {
   public static void main(String[] args) {
      int[] ids = { -3, 0, 100 };
      ArrayList<Integer> values = new ArrayList<>();
      for (int id : ids) {
         values.add(id);
      }
		
      System.out.println(values);
      System.out.println(values.size());
      System.out.println(ids.length);
   }
}

輸出

[-3, 0, 100]
3
3

使用toArray方法

它用於將ArrayList的元素複製到陣列。一種方法涉及型別轉換併產生一個Object陣列。但此變體返回一個型別化陣列。

示例

import java.util.ArrayList;
import java.util.List;
public class demo {
   public static void main(String[] args) {
      ArrayList<Integer> list = new ArrayList<>();
      list.add(7);
      list.add(8);
      list.add(9);

      Integer[] array = {};
      array = list.toArray(array);
      for (int elem : array) {
         System.out.println(elem);
      }
   }
}

輸出

7
8
9

ArrayList中的字元

Java的char字元ArrayList的用例是

將它們更改為字元。

字串的值被轉換為Character ArrayList。

示例

import java.util.ArrayList;
import java.util.List;
public class demo {
   public static void main(String [] args) {
      String string = "Computer Science";
      List<Character> chars = new ArrayList<>();
      for (char ch : string.toCharArray()) {
         chars.add(ch);
      }
      System.out.println(chars);
   }
}

輸出

[C, o, m, p, u, t, e, r , S, c, i, e, n, c, e]

結論

Java的ArrayList實現為執行時物件儲存和操作提供了令人印象深刻的功能。但是,某些陣列不能使用此方法,必須以不同的方式處理。為了有效地將特定型別的資料儲存在程式語言中,開發人員必須識別與這些結構相關的約束,並選擇不同的儲存選項,瞭解Java ArrayList的侷限性的程式設計師可以建立高效且有效的軟體應用程式。

更新於:2023年8月1日

546 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告