java中数组列表集合之间的转换

来源:互联网 发布:三星数据恢复软件大师 编辑:程序博客网 时间:2024/05/24 04:48

在java编程中,数组、列表和集合作为三种使用最多的存储结构,经常需要进行彼此转换。具体方法如下:

一、数组与列表(List)之间的相互转换

1、数组转换成List,可以用JDK中的java.util.Arrays类:

import java.util.Arrays;   
String[] strArray = {"aaa", "bbb", "ccc"};   
List strList = Arrays.asList(strArray);  

不过Arrays.asList()方法返回的List不能add和删除对象,因为该方法的实现是使用参数引用的数组的大小来new的一个ArrayList。

2、List转换为数组,可以使用toArray方法,返回一个Object数组,然后在向下强转为所需要的类型

List list = new ArrayList();      

list.add("a");      list.add("b");       list.add("c");        list.add("d");  

String[] array2 = (String[]) list.toArray(new String[list.size()]); 

二、数组与集合之间的相互转换

1、数组转换为集合必须先将数组转换为列表再转换为集合(Set)

String[] staffs =new String[]{"bob","tom","jack"};

Set<String> staffsSet =new HashSet<>(Arrays.asList(staffs));

2、集合转换为数组使用集合(Set)中的toArray方法返回一个Object数组,再向下进行类型转换,得到需要的数组类型

HashSet<Integer> b=new HashSet<Integer>(); b.add(3); b.add(4);

Object[] num=(b.toArray());

int[] nums=new int[num.length];
for (int i=0;i<num.length;i++)

{
nums[i]=(int)num[i];//向下转型
}

三、集合与列表之间的相互转换

1、列表中有构造方法可以将集合直接转为列表

List list = new ArrayList(new Hashset());// Fixed-size list

2、集合中有构造方法可以将列表直接转为集合

Set result =new HashSet(new ArrayList());

原创粉丝点击