Java 集合与数组相互转换的方法

作者:啸笑天
出处:http://justsee.iteye.com/blog/658452


List,Set 转换为数组的方法。

toArray函数有两种形式,一种无参数,一种带参数,注意带参数形式中,要指明数组的大小。

 

程序代码:

List----数组

Set----数组

 

public void convertCollectionToArray() {

List list = new ArrayList();

Object[] objectArray1 = list.toArray();

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

 

Set set = new HashSet();

Object[] objectArray2 = set.toArray();

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

 }

 

反过来,数组转换为List,Set。

数组----List----Set

 

Integer[] numbers = {778910889654};

// To convert an array into a Set first we convert it to a List. Next

// with the list we create a HashSet and pass the list as the constructor.

List list = Arrays.asList(numbers);

Set set = new HashSet(list);

 
注意:对于int[]数组不能直接这样做,因为asList()方法的参数必须是对象。应该先把int[]转化为Integer[]。对于其他primitive类型的数组也是如此,必须先转换成相应的wrapper类型数组。
 
 

int[] numbers = {778910889654};

 int size = numbers.length;

Integer[] array = new Integer[size];

 for (int i = 0; i < numbers.length; i++) {

Integer integer = numbers[i];

 array[i] = integer;

}

 List list = Arrays.asList(array);

 
Set----List
Set set=new HashSet(new arrayList());
Map----Set  
Map.key----Set  
Map.value----Collection即Set,List
Map map = new HashMap();
map.put("1", "a");
map.put('2', 'b');
map.put('3', 'c');
System.out.println(map);
// 输出所有的值
System.out.println(map.keySet());
// 输出所有的键
System.out.println(map.values());
// 将map的值转化为List
List list = new ArrayList(map.values());
System.out.println(list);
// 将map的值转化为Set
Set set = new HashSet(map.values());
System.out.println(set);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值