在java編程中,經常需要將數組轉換為List。List是Java集合框架中的一個重要介面,可以讓開發人員輕鬆地操作和管理數據。
一、使用Arrays類中的asList()方法
List list = Arrays.asList(array);
這種方法是Java中最常見的數組轉List的方法。這個方法會返回一個List,但這個List的大小是固定的,並且不能增加或刪除元素。如果試圖通過這個List的add()或remove()方法來添加或刪除元素,就會拋出UnsupportedOperationException異常。
這是因為asList()方法返回的List是由原數組支持的:對這個List元素的操作實際上就是對原數組所做的操作。
如果需要使用List的add()或remove()方法,可以使用以下語句創建一個新的ArrayList:
List list = new ArrayList(Arrays.asList(array));
二、使用Stream API
Java 8 引入了Stream API,可以通過Arrays類中的stream()方法將數組轉換為Stream,再使用collect()方法將Stream轉換為List。
String[] array = {"apple", "banana", "orange"}; List list = Arrays.stream(array).collect(Collectors.toList());
這種方法是Java 8 中最常使用的數組轉List的方法。相對於asList()方法,這種方法返回的是一個基於數組的新List,可以使用List的add()和remove()等方法添加和刪除元素。
三、使用Collections.addAll()方法
Java中的Collections類提供了一個addAll()方法,可以將數組元素添加到一個已存在的List中。
String[] array = {"apple", "banana", "orange"}; List list = new ArrayList(); Collections.addAll(list, array);
這種方法是一種比較顯式的、手工的將數組轉換為 List 的方式。Collections.addAll()實際上是將數組中的元素逐個添加到一個已存在的List中。
四、使用Java 9 中的List.of()方法
Java 9 引入了一個新的List.of()方法,可以非常方便地將數組轉換為List。將給定的元素轉換為不可變的列表(由此可以知道,這個方法返回的 List 的大小是固定的,且不支持 add() 和 remove() 等方法)。
String[] array = {"apple", "banana", "orange"}; List list = List.of(array);
這種方法最簡單和最便捷,但是這種方式只是 Java 9 的特性,不適用於 Java 8 或以下的版本。
五、總結
在Java中,有多種方式將數組轉換為List。每種方法都有不同的適用場景,在不同的場景中選擇不同的方法可以更好地解決問題。
Java中數組轉List的常見方式: List list = Arrays.asList(array); List list = new ArrayList(Arrays.asList(array)); List list = Arrays.stream(array).collect(Collectors.toList()); List list = List.of(array);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/307322.html