數組轉ArrayList


使用Arrays.asList()對數組轉化成集合后,其底層數據結構還是數組

例如:

1 String[] str = {"a","b"};
2 List list = Arrays.asList(str);
3 list.add("c");//報錯
4 str[0] = "d";//list.get(0)也隨之改變

正確寫法為:

1.new ArrayList(),然后for循環數組,一個個add();

2.List list = new ArrayList<>(Arrays.asList(str));//推薦寫法

3.使用java8的Stream:

1 Integer [] myArray = { 1, 2, 3 };
2 List myList = Arrays.stream(myArray).collect(Collectors.toList());
3 //基本類型也可以實現轉換(依賴boxed的裝箱操作)
4 int [] myArray2 = { 1, 2, 3 };
5 List myList = Arrays.stream(myArray2).boxed().collect(Collectors.toList());

4.使用 Apache Commons Collections:

1 List<String> list = new ArrayList<String>();
2 CollectionUtils.addAll(list, str);

 


免責聲明!

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



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