java中数组转集合_Java中数组与集合的相互转换

数组与List的相互转换

List转数组:采用集合的toArray()方法

数组转List:采用Arrays的asList()方法

数组转换为集合

注意:在数组转集合的过程中,要注意是否使用了视图的方式直接返回数组中的数据。以Arrays.asList()为例,它把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出 UnsupportedOperationException异常。

这是因为Arrays.asList体现的是适配器模式,后台的数据仍是原有数组。asList的返回对象是一个Arrays的内部类,它并没有实现集合个数的相关修改操作,这也是抛出异常的原因。

集合转数组

集合转数组相对简单,一般在适配别人接口的时候常常用到

代码例子

public class Main {

public static void main(String[] args) {

//1.数组转换为集合

String[] strs = new String[3];

strs[0] = "a";

strs[1] = "b";

strs[2] = "c";

List stringList = Arrays.asList(strs);

System.out.println(stringList);

//1.1注意:直接使用add、remove、clear方法会报错

// stringList.add("abc");

//1.2如果想要正常的使用add等修改方法,需要重新new一个ArrayList

List trueStringList = new ArrayList<>(Arrays.asList(strs));

trueStringList.add("abc");

System.out.println(trueStringList);

//2.集合转数组

List integerList = new ArrayList<>();

integerList.add(1);

integerList.add(2);

integerList.add(3);

//新生成的数组大小一定要大于原List的大小

Integer[] integers = new Integer[3];

integerList.toArray(integers);

System.out.println(Arrays.asList(integers));

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值