>>分享孙卫琴的Java技术专稿和著作 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 29961 个阅读者 刷新本主题
 * 贴子主题:  【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 重新编辑]
  Java面向对象编程-->继承
  JavaWeb开发-->Web运作原理(Ⅳ)
  JSP与Hibernate开发-->映射对象标识符
  Java网络编程-->对象的序列化与反序列化
  精通Spring-->组合(Composition)API
  Vue3开发-->CSS过渡和动画
  【Vue.js技术专题】Vue组件的命名规则
  【Vue.js技术专题】CSS中DOM元素的过渡模式
  【Vue.js技术专题】自定义指令范例:v-drag指令
  【Spring Cloud Alibaba专题】OpenFeign开启对请求和响应数据...
  【Spring Cloud Alibaba专题】Nacos集群的Raft算法
  【Spring专题】控制器对象的生命周期
  【Spring专题】Spring框架的数据验证机制
  从《精通Spring》和《精通Vue.js》的写作分享学习新技术的经...
  【持久化专题】Spring与Hibernate与JPA的整合
  【Java网络编程专题】异步通道和异步运算结果
  【Java网络编程专题】用Java套接字编写基本的客户/服务器程序
  【Java网络编程专题】优化访问数据库的程序代码的一些技巧
  【持久化专题】通过JPQL查询语句进行批量处理数据
  《大话Java程序设计从入门到精通》写作花絮
  【JavaWeb专题】选择32位或64位JDK或者Apache HTTP服务器的安...
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。