参考答案:
在 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