集合与数组互换
2016-05-04 16:40
232 查看
在我们写java代码时,往往比较忽略的一组api,就是java.util包下面,这里不光是集合框架,还包括一些工具类,例如Collections, Arrays, Objects等等,这些类的名字有一个共同点,就是名字后面都是会加一个s,而且里面的方法也都是静态方法。今天的这个问题就是要用到这其中的两个工具类。
先说说数组转集合。以前写代码时,总会想到一个问题,就是怎么样直接用元素就可以构造出List,Set,其实集合框架里面没有提供这一类的构造方法。不过有一个方法可以直接将数组转换成List, List<String> list = Arrays.asList("red", "yellow"); 这一行代码就可以搞定,只用了Arrays.asList这个方法,这个方法的参数是用了可变的参数,而这里可变的参数可以写不确定个数的参数,也可以直接用一个数组替代。记住,如果参数是数组,只能是一个数组,不可以是多个。如果是多个的话,前面就应该换成List<String[]>,里面的String必须换String数组才行。
再说说集合转数组。在Collection接口中,有一个toArray方法,可以直接转成数组。
这时有人要问了,上面asList方法只能转换成list,怎么转换成set或queue呢?这里给大家提一个醒,集合里面所有的具体类的构造方法都有一个方法的参数是Collection,所以这里已经有了list了,可以将这个list作为参数,直接再通过构造方法new出来一个其他的集合就可以了。
集合框架里面有很多有趣的东西,包括设计模式,希望大家多多留言,多多交流。
先说说数组转集合。以前写代码时,总会想到一个问题,就是怎么样直接用元素就可以构造出List,Set,其实集合框架里面没有提供这一类的构造方法。不过有一个方法可以直接将数组转换成List, List<String> list = Arrays.asList("red", "yellow"); 这一行代码就可以搞定,只用了Arrays.asList这个方法,这个方法的参数是用了可变的参数,而这里可变的参数可以写不确定个数的参数,也可以直接用一个数组替代。记住,如果参数是数组,只能是一个数组,不可以是多个。如果是多个的话,前面就应该换成List<String[]>,里面的String必须换String数组才行。
再说说集合转数组。在Collection接口中,有一个toArray方法,可以直接转成数组。
这时有人要问了,上面asList方法只能转换成list,怎么转换成set或queue呢?这里给大家提一个醒,集合里面所有的具体类的构造方法都有一个方法的参数是Collection,所以这里已经有了list了,可以将这个list作为参数,直接再通过构造方法new出来一个其他的集合就可以了。
集合框架里面有很多有趣的东西,包括设计模式,希望大家多多留言,多多交流。
相关文章推荐
- ActiveMQ 入门Nodejs版
- Ubantu 下安装openssh-server中遇到的一些问题及解决方案
- sizeof 与strlen的区别
- Linux下chkconfig命令详解
- 【AWS+DaoCloud的应用分享】BootDev如何利用docker在AWS实现超快速自动伸缩
- 数据结构学习笔记06排序 (冒泡、插入、希尔、堆排序、归并排序)
- oracle 截取字符(substr),检索字符位置(instr)
- C++ list
- 【LeetCode-233】Number of Digit One
- Android View如何绘制
- OC3
- C ADT 的实现
- 面向对象的开发方法(总结)
- java基础学习总结——网络编程
- 最新最全的css规范指南
- TextView控件基本属性与点击事件的应用
- poj 3463 Sightseeing dij
- 如何在Mac OS X上安装 Ruby运行环境
- 设计模式
- laravel框架知识点记录