参考答案:
在 Java 中,Array
和 List
之间的转换是常见的操作。你可以使用 Java 的标准库提供的一些工具来实现这些转换。以下是常见的转换方法:
使用 Arrays.asList()
方法将数组转换为 List
。需要注意的是,Arrays.asList()
返回的是一个固定大小的列表,因此不能在该列表上执行 add()
或 remove()
等修改操作。
1String[] array = {"Apple", "Banana", "Cherry"}; 2List<String> list = Arrays.asList(array); 3 4System.out.println(list); // 输出:[Apple, Banana, Cherry]
要将一个 List
转换为数组,可以使用 List
的 toArray()
方法。这个方法有两种形式:
toArray()
:返回一个包含所有列表元素的 Object[]
数组。toArray(T[] a)
:返回一个包含所有列表元素的指定类型的数组。1List<String> list = new ArrayList<>(); 2list.add("Apple"); 3list.add("Banana"); 4list.add("Cherry"); 5 6// 转换为 Object[] 数组 7Object[] objectArray = list.toArray(); 8System.out.println(Arrays.toString(objectArray)); // 输出:[Apple, Banana, Cherry] 9 10// 转换为指定类型的数组 11String[] stringArray = list.toArray(new String[0]); 12System.out.println(Arrays.toString(stringArray)); // 输出:[Apple, Banana, Cherry]
如果你需要将数组转换为 ArrayList
,可以使用 Arrays.asList()
方法结合 new ArrayList<>()
,以便获得一个可变的 ArrayList
。
1String[] array = {"Apple", "Banana", "Cherry"}; 2List<String> list = new ArrayList<>(Arrays.asList(array)); 3 4list.add("Date"); // 添加新元素 5System.out.println(list); // 输出:[Apple, Banana, Cherry, Date]
如果原本的 List
可能是一个不可变的列表(例如使用 Arrays.asList()
返回的列表),你可以将其转换为 ArrayList
以便进行更灵活的操作。
1List<String> list = Arrays.asList("Apple", "Banana", "Cherry"); 2ArrayList<String> arrayList = new ArrayList<>(list); 3 4arrayList.add("Date"); // 添加新元素 5System.out.println(arrayList); // 输出:[Apple, Banana, Cherry, Date]
在 Java 8 及以上版本,你可以使用 Stream
API 进行更灵活的转换。例如,使用 Stream
来将 List
转换为数组,或者将数组转换为 List
。
1List<String> list = Arrays.asList("Apple", "Banana", "Cherry"); 2String[] array = list.stream().toArray(String[]::new); 3System.out.println(Arrays.toString(array)); // 输出:[Apple, Banana, Cherry]
1String[] array = {"Apple", "Banana", "Cherry"}; 2List<String> list = Arrays.stream(array).collect(Collectors.toList()); 3System.out.println(list); // 输出:[Apple, Banana, Cherry]
最近更新时间:2024-12-09