Java将列表转换为数组,反之亦然
介紹:
在本文中, 我們將快速學習如何將Java List (例如ArrayList )轉換為數組,反之亦然。 如果您希望總體上了解有關ArrayList的更多信息,請隨時閱讀我們有關Java ArrayLists的文章。
同時,讓我們開始吧!
將Java
將Java 列表轉換為數組非常簡單直接。 我們可以使用toArray()方法的兩種可用樣式之一:
//Returns an Object-type array Object[] toArray()//Returns an array of type T T[] toArray(T[] array)讓我們嘗試一下:
List<Integer> list = Arrays.asList(1, 2, 3, 4);Object[] arrayOfObjects = list.toArray(); Integer[] arrayOfIntegers = list.toArray(new Integer[list.size()]);toArray(T [] array)方法接受并返回一個數組。 傳遞數組的主要目的是通知要返回的數組類型:
- 如果傳入的數組有足夠的空間,則將元素存儲在同一數組中,并返回對該數組的引用
- 如果其空間大于元素數,則首先使用列表元素填充數組,并將其余值填充為null
- 否則,如果沒有足夠的空間來存儲元素,則會創建,填充并返回具有相同類型和足夠大小的新數組
將Java數組轉換為
要將數組轉換為Java中的List ,我們可以選擇以下方法之一:
1.天真的方法(迭代):
一種簡單的方法是遍歷所有數組元素,并將它們添加到新創建的List中:
public <T> List<T> convertArrToList(T[] array) {List<T> list = new ArrayList<>();for(T element : array) {list.add(element);}return list; }我們可以使用上述通用方法輕松地轉換類型T的數組:
Integer[] arr = {1, 2, 3}; List<Integer> list = c.convertArrToList(arr);2.
我們還可以在java.util.Arrays類中使用asList()方法來快速構造一個List:
public <T> List<T> convertArrToList(T[] array) {return Arrays.asList(array); }此方法接受數組作為其參數。
3.
眾所周知, java.util.Collections提供了addAll(Collection c,T ... elements)方法,該方法將所有元素添加到給定的collection c中 。
由于List繼承自Collection接口,因此可以使用此方法來發揮我們的優勢:
public <T> List<T> convertArrToList(T[] array) {List<T> list = new ArrayList<>();Collections.addAll(list, array);return list; }4. Java 8流:
從Java 8開始,我們首先可以通過Java數組打開流,然后使用Java Stream Collectors將其元素收集在List中 :
public <T> List<T> convertArrToList(T[] array) {return Arrays.stream(array).collect(Collectors.toList()); }對于一組原語,我們將有類似以下內容:
int[] array = new int[] { 1, 2, 3 }; List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList());結論:
在本教程中,我們研究了如何將Java List轉換為數組。 我們還介紹了在Java中將數組轉換為List的另一種情況。
翻譯自: https://www.javacodegeeks.com/2019/03/java-convert-list-array-vice-versa.html
總結
以上是生活随笔為你收集整理的Java将列表转换为数组,反之亦然的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: couchbase_Spring Dat
- 下一篇: java8 默认方法_如何不使用Java