java实现列表、集合与数组之间转化的方法
本文实例讲述了java实现列表、集合与数组之间转化的方法。分享给大家供大家参考。具体实现方法如下:
packagetest; importjava.util.ArrayList; importjava.util.Arrays; importjava.util.HashSet; importjava.util.List; importjava.util.Set; publicclassTest2{ publicstaticvoidmain(String[]args){ Listlist=newArrayList(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); //list.add(1);//会产生java.lang.ArrayStoreException异常 //当list中的数据类型都一致时可以将list转化为数组 Object[]array=list.toArray(); System.out.println("从list转换成的对象数组长度为:"+array.length); //在转化为其它类型的数组时需要强制类型转换,并且,要使用带参数的toArray方法,参数为对象数组, //将list中的内容放入参数数组中,当参数数组的长度小于list的元素个数时,会自动扩充数组的长度以适应list的长度 String[]array1=(String[])list.toArray(newString[0]); System.out.println("从list转换成的字符串数组长度为:"+array1.length); //分配一个长度与list的长度相等的字符串数组 String[]array2=(String[])list.toArray(newString[list.size()]); System.out.println("从list转换成的字符串数组长度为:"+array2.length); list.clear(); //将数组转换成list for(inti=0;i<array.length;i++){ list.add(array[i]); } System.out.println("将数组转换成list的元素个数为:"+list.size()); list.clear(); //直接使用Arrays的asList方法 list=Arrays.asList(array); System.out.println("将数组转换成list的元素个数为:"+list.size()); Setset=newHashSet(); set.add("a"); set.add("b"); //将set转换为数组 array=set.toArray(); array1=(String[])set.toArray(newString[0]); array2=(String[])set.toArray(newString[set.size()]); System.out.println("从Set转换成的对象数组长度为:"+array.length); System.out.println("从Set转换成的字符串数组长度为:"+array2.length); //数组转换成Set //将数组转换成List后,再用List构造Set set=newHashSet(Arrays.asList(array)); System.out.println("将数组转换成Set的元素个数为:"+list.size()); //将Set清空,然后把数组转换成的list全部add set.clear(); set.addAll(Arrays.asList(array1)); System.out.println("将数组转换成Set的元素个数为:"+list.size()); } }
希望本文所述对大家的java程序设计有所帮助。