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的侷限性的程式設計師可以建立高效且有效的軟體應用程式。