欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中將 int[] 數(shù)組 轉(zhuǎn)換為 List分享

 更新時間:2022年12月09日 08:32:10   作者:JadeTal  
這篇文章主要介紹了Java中將 int[] 數(shù)組 轉(zhuǎn)換為 List分享的相關(guān)資料,需要的朋友可以參考下

前言

說起數(shù)組轉(zhuǎn)換成 ArrayList,很多同學(xué)第一反應(yīng)就是遍歷數(shù)組,將元素逐個添加到 ArrayList 中,但是這個看著就lower,一般不會這么答。

所以馬上就會想到Arrays工具類的 asList 方法,如果你這么答,那么恭喜你,答錯入坑。

為什么不能用 Arrays 的 asList 方法將 int[] 裝換成 ArrayList

如果此處數(shù)組 int[] 換作是 Integer[] 或者任何一個引用類型元素的數(shù)組都正確,Arrays 的 asList 方法只能轉(zhuǎn)換引用類型元素的數(shù)組。
asList 方法的源碼就是這么定義的:

    public static <T> List<T> asList(T... a) {
        return new ArrayList<>(a);
    }


    private static class ArrayList<E> extends AbstractList<E>
        implements RandomAccess, java.io.Serializable
    {

注意:Arrays.asList(T... a)返回的List中元素是不可變的。
從源碼可以看出Arrays.asList(T... a)返回的是一個ArrayList,但是這個ArrayList是Arrays的內(nèi)部類,不是我們集合框架下的那個ArrayList。

使用stream進(jìn)行轉(zhuǎn)換(jdk8 推薦)

jdk版本低于1.8不可以使用。

數(shù)組通過 Arrays 工具類的 stream() 方法進(jìn)行流化,獲取 Stream 對象。boxed()方法是用來裝箱的。

int[] arys = {1,2,3};
List<Integer> list = Arrays.stream(arys).boxed().collect(Collectors.toList());

要轉(zhuǎn)化為ArrayList還需要進(jìn)行一次強(qiáng)制類型轉(zhuǎn)化

遍歷數(shù)組,逐個加入元素到List中

可以使用for、增強(qiáng)for循環(huán)、迭代器。
使用for循環(huán)遍歷數(shù)組,性能稍微好那么一丟丟。增強(qiáng)for的本質(zhì)就是迭代器,寫法更加簡潔。
這里代碼就做展示了。

到此這篇關(guān)于Java中將 int[] 數(shù)組 轉(zhuǎn)換為 List分享的文章就介紹到這了,更多相關(guān)Java中將 int[] 數(shù)組 轉(zhuǎn)換為 List內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論