|
本文参考:
《Java面向对象编程》,作者:孙卫琴
《漫画Java编程》,作者:孙卫琴,杜聚宾
集合和数组都用来存放多个元素,它们之间可以通过特定的方式互相转换。
(1)把数组转换为集合
java.util.Arrays类是一个数组实用类,它的asList()静态方法能够把数组转换成一个List对象,例如:Integer[] array={11,22,33};
List<Integer> list=Arrays.asList(array); //把数组转换为List |
大多数集合都有以下形式的构造方法,该构造方法在创建新集合的时候,会把参数c指定的集合中的元素复制到新集合中:
HashSet(Collection<? extends E> c)
TreeSet(Collection<? extends E> c)
ArrayList(Collection<? extends E> c)
LinkedList(Collection<? extends E> c) |
因此,在通过Arrays.asList()方法得到了一个List对象后,还可以把它转换为其他类型的集合。例如:
Integer[] array={11,22,33};
List<Integer> list=Arrays.asList(array); ////把数组转换为List
List<Integer> arrayList=new ArrayList<Integer>(list); //转换为ArrayList
Set<Integer> hashSet=new HashSet<Integer>(list); //转换为HashSet |
(2)把集合转换为数组
java.util.Collection接口中定义了toArray()方法,能把集合转换为数组,它有两种重载形式:
Object[] toArray():返回Oject[]类型的数组。
<T> T[] toArray(T[] a):返回泛型标记<T>指定类型的数组。 |
以下代码分别通过两种toArray()方法来返回数组:
List<Integer> list=new ArrayList<Integer>();
list.add(11);
list.add(22);
list.add(33);
Object[] array1=list.toArray(); //返回Object[]类型数组
Integer[] array2=list.toArray(new Integer[0]); //返回Integer[]类型数组 |
对于“list.toArray(new Integer[0])”,参数“new Integer[0]”仅仅用来指定返回数组的类型,在这里表明toArray()方法将返回一个Integer[]类型的数组。
程序猿的技术大观园:www.javathinker.net
[这个贴子最后由 admin 在 2022-03-15 14:48:49 重新编辑]
|
网站系统异常
系统异常信息 |
Request URL:
http://www.javathinker.net/WEB-INF/lybbs/jsp/topic.jsp?postID=322&pages=4
java.lang.NullPointerException
如果你不知道错误发生的原因,请把上面完整的信息提交给本站管理人员。
|
|