博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何实现数组和List之间的转换
阅读量:3897 次
发布时间:2019-05-23

本文共 1913 字,大约阅读时间需要 6 分钟。

下面详细讲解数组和list集合之间转换的各种方法,以及会易错的地方;

数组转List

package listtoArray;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;import java.util.stream.Collectors;import java.util.stream.Stream;public class ArrayToList {		public static void main(String[] args) {				//数组转list		String[] str=new String[] {"hello","world"};		//方式一:使用for循环把数组元素加进list		List
list=new ArrayList
(); for (String string : str) { list.add(string); } System.out.println(list); //方式二: List
list2=new ArrayList
(Arrays.asList(str)); System.out.println(list2); //方式三: //同方法二一样使用了asList()方法。这不是最好的, //因为asList()返回的列表的大小是固定的。 //事实上,返回的列表不是java.util.ArrayList类,而是定义在java.util.Arrays中一个私有静态类java.util.Arrays.ArrayList //我们知道ArrayList的实现本质上是一个数组,而asList()返回的列表是由原始数组支持的固定大小的列表。 //这种情况下,如果添加或删除列表中的元素,程序会抛出异常UnsupportedOperationException。 //java.util.Arrays.ArrayList类具有 set(),get(),contains()等方法,但是不具有添加add()或删除remove()方法,所以调用add()方法会报错。 List
list3 = Arrays.asList(str); //list3.remove(1); //boolean contains = list3.contains("s"); //System.out.println(contains); System.out.println(list3); //方式四:使用Collections.addAll() List
list4=new ArrayList
(str.length); Collections.addAll(list4, str); System.out.println(list4); //方式五:使用Stream中的Collector收集器 //转换后的List 属于 java.util.ArrayList 能进行正常的增删查操作 List
list5=Stream.of(str).collect(Collectors.toList()); System.out.println(list5); }}

List转数组

package listtoArray;import java.util.ArrayList;import java.util.List;public class ListToArray {	public static void main(String[] args) {		//list转数组		List
list=new ArrayList
(); list.add("hello"); list.add("world"); //方式一:使用for循环 String[] str1=new String[list.size()]; for(int i=0;i
list3=new ArrayList
(); //String strings[]=(String [])list.toArray(); }}

转载地址:http://niyen.baihongyu.com/

你可能感兴趣的文章
C++项目中的extern "C" {}
查看>>
(转)C++中extern “C”含义深层探索
查看>>
【日常小记】linux中强大且常用命令:find、grep
查看>>
Linux多线程编程(不限Linux)
查看>>
C/C++内存泄漏及检测
查看>>
C中的继承和多态
查看>>
linux修改ssh端口和禁止root远程登陆设置
查看>>
What really happens when you navigate to a URL
查看>>
偶遇with ties
查看>>
linux 编译指定库、头文件的路径问题
查看>>
使用gdb调试运行时的程序小技巧
查看>>
linux后端服务程序之信号处理
查看>>
Padding也要小心
查看>>
linux异步IO编程实例分析
查看>>
小组开发环境搭建: apache+ftp+cvs+samba
查看>>
Learning C with gdb
查看>>
不可不知的json库
查看>>
JSON格式解析和libjson使用简介
查看>>
关于Json格式的理解
查看>>
c语言解析json数据
查看>>