Java开发中常用String数组和List之间的相互转化,来实现某些需求。List也是基于数组来实现的,因此数组和List之间是可以相互转化的。下面列出String和List之间的转换方法和删除两个List中相同元素的方法。
1、Stirng[]转List,Arrays.asList方法。
String[] values = {"1","2","3","4"};
List<String> list = Arrays.asList(values);
2、List转String数组,toArray()方法
ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法:
a.list.toArray();
b.list.toArray(T[] a);
对于第一个重载方法,是将list直接转为Object[] 数组;
第二种方法是将list转化为你所需要类型的数组
ArrayList<String> List1=new ArrayList<String>();
List1.add("1");
List1.add("2");
List1.add("3");
Object[] str = List1.toArray();//list转Object[]
String[] listStr = new String[List1.size()];
List1.toArray(listStr);
3、进一步将String[]拼接为String,StringUtils.join方法
第一个参数为需求拼接的数组,第二个参数为拼接的符号。
jdk中给出了几个样例:
StringUtils.join(null, *) = null
StringUtils.join([], *) = ""
StringUtils.join([null], *) = ""
StringUtils.join(["a", "b", "c"], "--") = "a--b--c"
StringUtils.join(["a", "b", "c"], null) = "abc"
StringUtils.join(["a", "b", "c"], "") = "abc"
StringUtils.join([null, "", "a"], ',') = ",,a"
示例:
String[] objects = { "a", "b", "c" };
System.out.println(StringUtils.join(objects));
结果:abc
String[] objects = { "a", "b", "c" };
System.out.println(StringUtils.join(objects, "-"));
结果:a-b-c
4、删除List1和List2中相同的元素
ArrayList<String> List1=new ArrayList<String>();
List1.add("1");
List1.add("2");
List1.add("3");
ArrayList<String> List2=new ArrayList<String>();
List2.add("1");
List1.removeAll(idList);//删除List1和List2相同的元素