Java中數組和集合是兩種不同的數據類型,數組是一種基本的數據結構,而集合則提供了更多的功能,比如動態增加、刪除、排序等。但在實際的開發中,有時需要將數組轉換為集合,這時就需要使用Java提供的框架來實現。
一、使用Arrays.asList()
Arrays.asList()方法是Java中將數組轉換為集合的一種常見方法。
String[] array = {"a", "b", "c"}; List<String> list = Arrays.asList(array); System.out.println(list);
上面的代碼會輸出:[a, b, c]。
需要注意的是,Arrays.asList()方法轉換的集合是不可變的,不能進行添加、刪除、修改操作,否則會拋出 UnsupportedOperationException 異常。
// UnsupportedOperationException 異常示例 String[] array = {"a", "b", "c"}; List<String> list = Arrays.asList(array); list.add("d"); // 拋出 UnsupportedOperationException 異常
二、使用Collections.addAll()
Collections.addAll()方法是Java中將數組轉換為集合的另一種常見方法。
String[] array = {"a", "b", "c"}; List<String> list = new ArrayList<>(); Collections.addAll(list, array); System.out.println(list);
上面的代碼會輸出:[a, b, c]。
與Arrays.asList()方法不同,使用Collections.addAll()方法創建的集合是可變的,可以進行添加、刪除、修改操作。
String[] array = {"a", "b", "c"}; List<String> list = new ArrayList<>(); Collections.addAll(list, array); list.add("d"); // 可以正常添加 System.out.println(list); // 輸出:[a, b, c, d]
三、使用Stream API
Java 8提供了Stream API,可以簡化集合和數組之間的轉換。
String[] array = {"a", "b", "c"}; List<String> list = Arrays.stream(array).collect(Collectors.toList()); System.out.println(list);
上面的代碼會輸出:[a, b, c]。
與Collections.addAll()方法相似,使用Stream API創建的集合也是可變的。
String[] array = {"a", "b", "c"}; List<String> list = Arrays.stream(array).collect(Collectors.toList()); list.add("d"); System.out.println(list); // 輸出:[a, b, c, d]
四、總結
以上是Java中將數組轉換為集合的三種常見方法,它們各有優缺點,需要根據具體的場景選擇合適的方法。
1、使用Arrays.asList()方法可以快速地將數組轉換為不可變的集合,但無法進行修改操作。
2、使用Collections.addAll()方法可以創建可變的集合,並可以進行添加、刪除、修改操作。
3、使用Stream API可以簡化代碼,也可以創建可變的集合。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/285261.html