数组转List
1.转换不操作(转换的集合不支持更改)
String[] str = new String[]{"yyy","uuu"};
List list = Arrays.asList(str);
注意:调用Arrays.asList()时,其返回值类型是ArrayList,但此ArrayList是Array的内部类,调用add()时,会报错:java.lang.UnsupportedOperationException,并且结果会因为array的某个值的改变而改变,故需要再次构造一个新的ArrayList
使用场景:快速转化,传参,不改变。
2.普通转换
String[] str = new String[]{"yyy","uuu"};
List<String> resultList = new ArrayList<>();
for (String s : str) {
resultList.add(s);
}
3.使用Collections.addAll()
String[] str = new String[]{"yyy","uuu"};
List<String> resultList = new ArrayList<>();
Collections.addAll(resultList,str);
4.Java9新增方法List.of(),定义在List接口内,并且为静态方法,故可以由类名直接调用
String[] str = new String[]{"yyy","uuu"};
List<String> resultList = List.of(str );
List转数组
1.list.toArray(); 转换为object[]
Object[] obj = list.toArray();
2. list.toArray(T[] a);
Integer[] obj = list.toArray(new Integer[list.size()]);
Set转List
List<String> result = new ArrayList<>(set);
String 转List
先转数组,再转list
List<String> list=Arrays.asList("4,3,2,1".split(","))
List转Set
Set result = new HashSet(list);
数组转Set
String[] strArray= new String[]{"111", "222", "333"};
Set<String> staffsSet = new HashSet<>(Arrays.asList(strArray));
String转Set
Set<String> staffsSet = new HashSet<>(Arrays.asList("4,3,2,1".split(",")));
List转String
import org.apache.commons.lang3.StringUtils;
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
String str=StringUtils.join(list, ",");
Set转String
import org.apache.commons.lang3.StringUtils;
Set<String> result = new HashSet();
result.add("a");
result.add("b");
result.add("c");
String str=StringUtils.join(result, ",");
数组转String
String[] st=new String[] {"11","22"};
String str=StringUtils.join(st, ",");
本文详细介绍了Java中如何进行数组与List、Set、String之间的转换,包括使用toArray()方法、Arrays工具类以及手动转换的多种方式。适用于Java开发中不同数据结构间的数据操作场景。
499





