一、使用for循環方式實現
public static List arrayToList(int[] arr) {
List list = new ArrayList();
for (int i = 0; i < arr.length; i++) {
list.add(arr[i]);
}
return list;
}
上述代碼使用了for循環遍曆數組,並將每個元素添加到List中。這種方式最為直接,代碼簡單易懂,但是需要手動進行遍歷,當數組較大時,遍歷的時間較長。
二、使用Java 8 Stream API實現
public static List arrayToList(int[] arr) {
return Arrays.stream(arr).boxed().collect(Collectors.toList());
}
Java 8引入了Stream API,可以使用Stream的boxed()方法將int類型轉為Integer類型的Stream,然後使用Collectors.toList()方法進行收集。這種方式使用了Java 8強大的Stream API,代碼更加簡潔。但是需要注意,Stream API在數據量較大時會對性能造成負面影響。
三、使用Apache Commons Lang庫實現
使用Apache Commons Lang庫提供的ArrayUtils.toObject(int[] array)方法將int[]數組轉為Integer[]數組,然後再使用Arrays.asList(T… a)方法將Integer[]數組轉為List。
public static List arrayToList(int[] arr) {
Integer[] integers = ArrayUtils.toObject(arr);
return Arrays.asList(integers);
}
Apache Commons Lang庫是使用廣泛的一個Java工具庫,提供了很多常用的工具方法,包括對數組的操作。使用該庫提供的方法簡化了代碼的編寫,但是需要引入外部庫。
四、使用Java 8 Arrays工具類實現
Java 8提供了Arrays工具類的asList(T… a)方法,可以將數組轉為List。
public static List arrayToList(int[] arr) {
return Arrays.asList(Arrays.stream(arr).boxed().toArray(Integer[]::new));
}
該方式結合了Java 8 Stream API以及Arrays工具類的方法,代碼更加簡潔。但是需要注意,asList()方法返回的List是Arrays的內部類,不支持add()或remove()等操作。
五、使用Google Guava庫實現
Google Guava是一個流行的Java工具庫,提供了豐富的工具方法。使用Guava庫中的Ints.asList(int… array)方法將int[]轉為List。
public static List arrayToList(int[] arr) {
return Ints.asList(arr);
}
該方式使用了Guava庫提供的方法,代碼簡潔,易於理解。但是需要引入外部庫。
原創文章,作者:NETD,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/139105.html