Java List/Array/HashSet之间的互相的转化
Array 转 list
List list = Arrays.asList(arr);
list转array:
String[] arr = list.toArray(new String[0]);//我们一定要在里面指定类型 并且类型必须是引用类型
list和set的互相转化:(用addAll或者构造器)
因为两者都实现了collection接口,collection接口下面有addAll()方法,他可以将list 和set相互转化。
另外 我们也可以通过两者的构造函数的形式完成互相转化
//List转Set
Set<String> set = new HashSet<>(list);
List<String> list_1 = new ArrayList<>(set);
Array和set的相互转化
array转化为set: set = new HashSet<>(Arrays.asList(arr)); //要先将arr转化成list然后再用构造器
set转化为array:跟list转array的方式一样 用set.toArray(new String[0])即可。
总结一下 常用的就是:
首先要明白list和set都是collection里面的 所以两者对外和对内转化都有相似性。
Arrays.asList() //将array转化成list或者set,当然 set需要多加一层构造器
Collection.toArray() //将list或者set转化成array
至于list和set之间的转化 因为他们都是collection下面的 因此可以直接使用Collection.addAll()进行转化 或者直接利用构造器互相转化
尤其注意:
如果arr 是int[] 或者是其他原始类型的数组 那么不能直接用Arrays.asList()进行转化
但是如果arr 是Integer[]类型的数组 就可以使用 但是因为大多数情况下不是 所以还是别用了

浙公网安备 33010602011771号