首頁 >Java >java教程 >如何在 Java 中高效率地將整數 ArrayList 轉換為原始 int 陣列?

如何在 Java 中高效率地將整數 ArrayList 轉換為原始 int 陣列?

Susan Sarandon
Susan Sarandon原創
2024-12-11 16:44:121030瀏覽

How to Efficiently Convert an ArrayList of Integers to a Primitive int Array in Java?

將Integers ArrayList 轉換為原始int 陣列

在Java 中,有多種方法將包含Integer 物件的ArrayList 轉換為原始int [] 數組。

在提供的程式碼片段中嘗試的一種方法是使用 toArray() 方法。但是,由於數組類型不相容,這將引發編譯時錯誤。要解決此問題,請指定要傳回的陣列類型,如下所示:

int[] n = (int[])x.toArray(new int[x.size()]);

另一種方法(對於Java 8 特別有用)是利用Stream API:

int[] arr = list.stream().mapToInt(i -> i).toArray();

此方法將清單中的每個元素轉換為其對應的int 值,從而產生所需的陣列。

您也可以使用intValue 方法明確轉換每個Integer 物件:

int[] arr = list.stream().mapToInt(Integer::intValue).toArray();

要處理潛在的空引用,請在流管道中新增過濾器:

int[] arr = list.stream().filter(Objects::nonNull).mapToInt(i -> i).toArray();

使用這些技術,您可以有效地將Integers 的ArrayList 轉換為Java 中的原始int 陣列。

以上是如何在 Java 中高效率地將整數 ArrayList 轉換為原始 int 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn