Java开发
Java中常用的字符串替换的4种方法
2025-02-01 38 0
简介 Java中常用的字符串替换的4种方法
在 Java 中,List 和数组之间的互相转换是非常常见的操作。以下是常用的方法及其示例代码:
1. 数组转 List
方法 1:使用 Arrays.asList()
特点:
返回的
List是一个固定大小的列表,不能添加或删除元素。对
List的修改会反映到原数组。示例:
java
复制
import java.util.Arrays;import java.util.List;public class Main {
public static void main(String[] args) {
String[] array = {"Apple", "Banana", "Orange"};
List<String> list = Arrays.asList(array); // 数组转 List
System.out.println(list); // 输出: [Apple, Banana, Orange]
}}方法 2:使用 new ArrayList<>(Arrays.asList())
特点:
返回一个可变的
ArrayList,可以添加或删除元素。对
List的修改不会影响原数组。示例:
java
复制
import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Main {
public static void main(String[] args) {
String[] array = {"Apple", "Banana", "Orange"};
List<String> list = new ArrayList<>(Arrays.asList(array)); // 数组转可变 List
list.add("Grape"); // 可以添加元素
System.out.println(list); // 输出: [Apple, Banana, Orange, Grape]
}}方法 3:使用 Java 8 的 Stream
特点:
适用于 Java 8 及以上版本。
可以处理基本类型数组。
示例:
java
复制
import java.util.List;import java.util.stream.Collectors;import java.util.Arrays;public class Main {
public static void main(String[] args) {
String[] array = {"Apple", "Banana", "Orange"};
List<String> list = Arrays.stream(array).collect(Collectors.toList()); // 数组转 List
System.out.println(list); // 输出: [Apple, Banana, Orange]
}}2. List 转数组
方法 1:使用 List.toArray()
特点:
返回一个
Object[]数组。需要手动指定数组类型。
示例:
java
复制
import java.util.ArrayList;import java.util.List;public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
String[] array = list.toArray(new String[0]); // List 转数组
System.out.println(Arrays.toString(array)); // 输出: [Apple, Banana, Orange]
}}方法 2:使用 Java 8 的 Stream
特点:
适用于 Java 8 及以上版本。
可以处理基本类型列表。
示例:
java
复制
import java.util.List;import java.util.Arrays;public class Main {
public static void main(String[] args) {
List<String> list = Arrays.asList("Apple", "Banana", "Orange");
String[] array = list.stream().toArray(String[]::new); // List 转数组
System.out.println(Arrays.toString(array)); // 输出: [Apple, Banana, Orange]
}}3. 基本类型数组与 List 的转换
数组转 List(基本类型)
问题:
Arrays.asList()不支持基本类型数组(如int[]),会将其视为单个元素。解决方法:使用 Java 8 的
Stream。
java
复制
import java.util.List;import java.util.Arrays;import java.util.stream.Collectors;public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3};
List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList()); // int[] 转 List<Integer>
System.out.println(list); // 输出: [1, 2, 3]
}}List 转数组(基本类型)
解决方法:使用
Stream或手动转换。
java
复制
import java.util.List;import java.util.Arrays;public class Main {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1, 2, 3);
int[] array = list.stream().mapToInt(Integer::intValue).toArray(); // List<Integer> 转 int[]
System.out.println(Arrays.toString(array)); // 输出: [1, 2, 3]
}}4. 多维数组与 List 的转换
多维数组转 List
示例:
java
复制
import java.util.Arrays;import java.util.List;public class Main {
public static void main(String[] args) {
String[][] array = {{"Apple", "Banana"}, {"Orange", "Grape"}};
List<List<String>> list = Arrays.stream(array)
.map(Arrays::asList)
.collect(Collectors.toList()); // 多维数组转 List<List<String>>
System.out.println(list); // 输出: [[Apple, Banana], [Orange, Grape]]
}}List 转多维数组
示例:
java
复制
import java.util.List;import java.util.Arrays;public class Main {
public static void main(String[] args) {
List<List<String>> list = Arrays.asList(
Arrays.asList("Apple", "Banana"),
Arrays.asList("Orange", "Grape")
);
String[][] array = list.stream()
.map(l -> l.toArray(new String[0]))
.toArray(String[][]::new); // List<List<String>> 转多维数组
System.out.println(Arrays.deepToString(array)); // 输出: [[Apple, Banana], [Orange, Grape]]
}}总结
| 操作 | 方法 | 特点 |
|---|---|---|
| 数组转 List | Arrays.asList() | 固定大小,修改会影响原数组 |
new ArrayList<>(Arrays.asList()) | 可变大小,修改不影响原数组 | |
Arrays.stream(array).collect(Collectors.toList()) | Java 8+,支持基本类型 | |
| List 转数组 | list.toArray(new T[0]) | 需要指定数组类型 |
list.stream().toArray(T[]::new) | Java 8+,支持基本类型 | |
| 基本类型数组转 List | Arrays.stream(array).boxed().collect(Collectors.toList()) | Java 8+ |
| List 转基本类型数组 | list.stream().mapToInt(Integer::intValue).toArray() | Java 8+ |
根据需求选择合适的方法,可以高效完成 List 和数组之间的转换。

