>>分享孙卫琴的Java技术专稿和著作 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 24585 个阅读者 刷新本主题
 * 贴子主题:  【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面向对象编程-->面向对象开发方法概述之UML语言(下)
  JavaWeb开发-->JSP中使用JavaBean(Ⅱ)
  JSP与Hibernate开发-->域对象在持久化层的四种状态
  Java网络编程-->用Spring整合CXF发布Web服务
  精通Spring-->通过Vuex进行状态管理
  Vue3开发-->绑定CSS样式
  【Vue.js技术专题】注册全局组件和局部组件
  【Vue.js技术专题】插槽slot的基本用法
  【Vue.js技术专题】Vuex中异步操作
  【Spring Cloud Alibaba专题】GateWay与Nacos整合
  【Spring Cloud Alibaba专题】Nacos集群的Raft算法
  向小伙伴们推荐我所创作前后端编程书籍的学习顺序
  【持久化专题】为什么JPA和Hibernate的持久化方法都抛出运行...
  【Vue专题】Vue组件的CSS过渡模式
  【持久化专题】JPA API的级联操作
  【持久化专题】用@MapsId注解映射派生主键
  【持久化专题】从JPA API中获得Hibernate API
  【持久化专题】Hibernate的配置文件
  【Java网络编程专题】通过JDBC API调用存储过程
  【JavaWeb专题】在Servlet中利用Apache开源类库实现文件上传
  【Java基础编程专题】用static修饰符进行静态导入的作用和语...
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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