在Java編程中我們經常會遇到將一個數組轉換為List集合的需求,這時候我們可以使用Java提供的Arrays.asList()方法實現數組轉換為List集合,也可以使用Stream API來實現。下面將從多個方面來詳細闡述如何實現Java中將數組轉換為List的方法。
一、使用Arrays.asList()方法
Arrays.asList()方法可以將數組轉換為List集合,它接受一個數組作為參數,並返回一個List集合。代碼示例如下:
String[] array = {"apple", "banana", "orange"}; List list = Arrays.asList(array);
上述代碼將字元串數組array轉換為List集合list。
需要注意的是,Arrays.asList()方法返回的是一個固定大小的List,也就是說它不能執行添加或刪除操作,並且它不支持add()、remove()、clear()等操作,否則會拋出UnsupportedOperationException異常。如果需要執行添加或刪除操作,我們可以創建一個新的ArrayList,然後將數組中的元素一個一個添加進去,示例代碼如下:
String[] array = {"apple", "banana", "orange"}; List list = new ArrayList(Arrays.asList(array));
上述代碼將字元串數組array轉換為一個可進行添加或刪除操作的ArrayList。
二、使用Stream API
Java 8中引入了Stream API,我們可以使用Stream API來將數組轉換為List集合。示例代碼如下:
String[] array = {"apple", "banana", "orange"}; List list = Stream.of(array).collect(Collectors.toList());
上述代碼中,我們使用Stream.of()方法將數組轉換為Stream流,然後通過collect()方法將Stream流轉換為List集合。
需要注意的是,Stream.of()方法不支持接受基本數據類型的參數,如果需要將基本數據類型的數組轉換為List集合,可以藉助於IntStream、LongStream、DoubleStream等基本類型流,示例代碼如下:
int[] array = {1, 2, 3}; List list = IntStream.of(array).boxed().collect(Collectors.toList());
上述代碼中,我們使用IntStream.of()方法將int類型的數組轉換為IntStream流,然後使用boxed()方法將IntStream流轉換為Stream流,最後使用collect()方法將Stream流轉換為List集合。
三、使用Guava庫
Guava是Google的一個Java庫,其中包含了許多實用的Java工具類,在集合操作方面也提供了很多便利的API。我們可以使用Guava庫中的Lists.newArrayList()方法將數組轉換為List集合,示例代碼如下:
String[] array = {"apple", "banana", "orange"}; List list = Lists.newArrayList(array);
上述代碼中,我們使用Lists.newArrayList()方法將字元串數組array轉換為List集合。
需要注意的是,Guava庫的Lists.newArrayList()方法與Arrays.asList()方法一樣,返回的是一個固定大小的List,也就是說它不能執行添加或刪除操作,並且它不支持add()、remove()、clear()等操作,否則會拋出UnsupportedOperationException異常。如果需要執行添加或刪除操作,我們可以創建一個新的ArrayList,然後將數組中的元素一個一個添加進去。
四、使用Apache Commons庫
Apache Commons是一個開源的Java庫,其中包含了大量的實用的Java工具類,在集合操作方面也提供了很多便利的API。我們可以使用Apache Commons庫中的Arrays.asList()方法將數組轉換為List集合,示例代碼如下:
String[] array = {"apple", "banana", "orange"}; List list = new ArrayList(Arrays.asList(array));
上述代碼中,我們使用Arrays.asList()方法將字元串數組array轉換為List集合,然後使用ArrayList構造方法創建了一個新的ArrayList集合。
需要注意的是,Apache Commons的Arrays.asList()方法與Java中的Arrays.asList()方法一樣,返回的是一個固定大小的List,也就是說它不能執行添加或刪除操作,並且它不支持add()、remove()、clear()等操作,否則會拋出UnsupportedOperationException異常。如果需要執行添加或刪除操作,我們可以創建一個新的ArrayList,然後將數組中的元素一個一個添加進去。
總結
本文介紹了Java中將數組轉換為List的多種方法,包括使用Java中的Arrays.asList()方法、使用Stream API、使用Guava庫以及使用Apache Commons庫。需要注意的是,Arrays.asList()方法返回的是一個固定大小的List,不能執行添加或刪除操作,並且它不支持add()、remove()、clear()等操作,否則會拋出UnsupportedOperationException異常。如果需要執行添加或刪除操作,我們可以創建一個新的ArrayList,然後將數組中的元素一個一個添加進去。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/185374.html