在Java的线上业务开发中,各种数据结构之间的转换是必备的技能。Java中数组和List之间的相互转换是常见的数据结构之间的转换,更一般的说是对字符串切分,并将其转换成List,List和String数组的相互转换整理如下。
1. String数组转换成List
1.1. 方法一:使用List的add()方法
通过遍历String数组,并将遍历后的元素通过add()方法添加到List中。
import java.util.ArrayList;
import java.util.List;
public class ArrayToListTest {
public static void main(String[] args) {
String[] testStrArray = {"a", "b", "c", "d"};
List<String> arrayList = new ArrayList<>();
for (String s : testStrArray) {
arrayList.add(s);
}
for (String s : arrayList) {
System.out.println(s);
}
}
}
1.2. 方法二:使用Collections的addAll()方法
java.util.Collections是一个包装类。它包含有各种有关集合操作的静态多态方法。addAll()方法如下所示:
@SafeVarargs
public static <T> boolean addAll(Collection<? super T> c, T... elements)
通过Collections的addAll()方法可以将String数组中的元素添加到List中。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ArrayToListTest {
public static void main(String[] args) {
String[] testStrArray = {"a", "b", "c", "d"};
List<String> arrayList = new ArrayList<>();
Collections.addAll(arrayList, testStrArray);
for (String s : arrayList) {
System.out.println(s);
}
}
}
1.3. 方法三:使用Arrays.asList
使用Arrays.asList()
方法可以方便地将String数组转换成List。
import java.util.Arrays;
import java.util.List;
public class ArrayToListTest {
public static void main(String[] args) {
String[] testStrArray = {"a", "b", "c", "d"};
List<String> arrayList = Arrays.asList(testStrArray);
for (String s : arrayList) {
System.out.println(s);
}
}
}
2. List转换成String数组
2.1. 方法一:直接添加到数组
import java.util.ArrayList;
import java.util.List;
public class ListToArrayTest {
public static void main(String[] args) {
List<String> arrayList = new ArrayList<>();
arrayList.add("a");
arrayList.add("b");
arrayList.add("c");
arrayList.add("d");
String[] testStrArray = new String[arrayList.size()];
for (int i = 0; i < testStrArray.length; i++) {
testStrArray[i] = arrayList.get(i);
}
for (String s : testStrArray) {
System.out.println(s);
}
}
}
2.2. 方法二:使用List的toArray()方法
import java.util.ArrayList;
import java.util.List;
public class ListToArrayTest {
public static void main(String[] args) {
List<String> arrayList = new ArrayList<>();
arrayList.add("a");
arrayList.add("b");
arrayList.add("c");
arrayList.add("d");
String[] testStrArray = arrayList.toArray(new String[arrayList.size()]);
for (String s : testStrArray) {
System.out.println(s);
}
}
}