>>分享孙卫琴的Java技术专稿和著作 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 24341 个阅读者 刷新本主题
 * 贴子主题:  【Java基础编程专题】Java集合与数组的互换 回复文章 点赞(0)  收藏  
作者:sunweiqin    发表时间:2017-08-09 07:25:05     消息  查看  搜索  好友  邮件  复制  引用

本文参考:
《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

如果你不知道错误发生的原因,请把上面完整的信息提交给本站管理人员