java數組和集合的相互轉換


由於在學習過程中經常碰到這么一個問題,就是java中幾種裝數據的容器之間的轉換,所以寫了這篇隨筆專門來總結這些轉換方法。

數組轉集合:

1.遍歷,最常用的方法,但是過程會繁瑣一點

        int arrs[] = {1, 2};
        //1.遍歷
        List<Integer> list = new ArrayList<>();
        for (int ele : arrs) {
            list.add(ele);
        }
        System.out.println(list);    

2.使用數組工具類的asList()方法

但是這種方法卻有其局限性,如果傳入的參數是一個數組,那么這個數組一定要是引用類型才能將其轉換為List集合,當傳入基本數據類型數組時則會將這個數組對象當成一個引用類型對象存進List集合。

 

 

可以看到傳入基本數據類型時,打印該列表是打印了傳入的數組的地址值。也就是說但你有一個基本數據類型的數組時,你想要將其轉換成集合時,直接用這種方法是行不通的。

或者你所擁有的一組數據很少時,你也可以直接將其傳入asList()方法的參數中,就像這樣

這種方法顯然不太好用,那怎么將一組基本數據類型的數組轉換成集合呢,我們首先想到的是將該基本類型數組轉換成其對應包裝類類型的數組(遍歷轉換也可以),然后我就去百度了一下怎么將基本類型數組轉換成其對應包裝類類型的數組,然后就搜到了下面兩種方法(原文鏈接:https://zhidao.baidu.com/question/628312636366178684.html)。

由於這兩種方法設計的知識層較深(觸及到我的知識盲區),大家想要了解可自行百度。

集合轉數組:

1.遍歷

簡單易懂

 

2.使用集合的toArray()方法

為什么不用toArray()它的無參方法呢,因為它的無參方法返回的是一個Object類型數組,即使你的集合是帶泛型。所以用那個方法會面臨一個Object類型數組之后的數據轉型,相對用它的有參方法會更麻煩。下面是其官方文檔.

 

以上就是這篇隨筆的所有內容,由於我自己目前也只是個初學者,所以上面難免有很多不嚴謹和錯誤的地方,請大家多多指正,大家一起學習,謝謝大家。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM