在 Java 中將列表轉換為 Long[] 數組
1. 概述
Lists和Arrays是 Java 中存儲對象的兩種常見方式。在我們需要存儲和操作數據的項目中, Lists和Arrays都允許在程序執行的整個過程中存儲數據。
本教程介紹如何在 Java 中將List<Long>對象轉換為Long[] Array 。
2.使用List.toArray()方法
List接口提供了toArray()方法,該方法返回包含所有列表元素的Array對象。
讓我們看看如何在 Java 中使用toArray()方法將List<Long>對象轉換為Long[] Array :
List<Long> list = Arrays.asList(1L, 2L, 3L, 4L, 5L);
Long[] array = new Long[list.size()];
array = list.toArray(array);
在上面的示例中,我們創建了一個新的Long值Array ,其大小與要轉換的List大小相同。我們還可以傳遞一個空Array並將內存分配委託給 JVM:
List<Long> list = Arrays.asList(1L, 2L, 3L, 4L, 5L);
Long[] array = new Long[0];
array = list.toArray(array);
3. 使用番石榴庫
Guava 庫提供了Longs.toArray()方法,該方法將Long值的集合按照相同的順序轉換為Long Array .
讓我們說明如何使用 Guava Longs.toArray()方法將List<Long>對象轉換為Long[] Array :
List<Long> list = Arrays.asList(1L, 2L, 3L, 4L, 5L);
long[] array = Longs.toArray(list);
我們應該知道,如果傳遞的Collection或其任何元素為 null ,Guava 的Longs.toArray()方法會拋出NullPointerException 。
4. 使用Stream. mapToLong()方法
Java 8 允許使用 Stream API 將List轉換為Array 。首先,我們必須使用List.stream()方法將所需列表轉換為流.其次,我們將應用Stream.mapToLong()方法返回LongStream.最後,我們將使用Stream.toArray()方法返回一個包含流中的Long元素的Array 。
現在讓我們看看如何以兩種不同的方式實現mapToLong()方法。
首先,我們使用 lambda 表達式:
List<Long> list = Arrays.asList(1L, 2L, 3L, 4L, 5L);
long[] array = list.stream().mapToLong(l -> l).toArray();
其次,我們使用方法引用:
List<Long> list = Arrays.asList(1L, 2L, 3L, 4L, 5L);
long[] array = list.stream().mapToLong(Long::longValue).toArray();
5. 結論
在本文中,我們學習瞭如何使用三種方法在 Java 中將List<Long>對象轉換為Long[]數組。第一種方法使用List.toArray()方法。在第二個中,我們使用了 Guava Longs.toArray()方法。最後,我們通過mapToLong()方法使用 Java 8 Stream API。
與往常一樣,代碼示例可在 GitHub 上獲取。