关于List的一些问题

如何将一个数组转集合,在面试中被问及的次数相当频发(反正我现在的公司是问了很多次),可能是对于基础的要求吧,但是我发现这样的一个问题还有一个衍生问题压根没被问到过

1、数组转集合 Arrays.asList()这个方法,但是这个方法是不允许添加元素的一旦调用.add()方法就会报错java.lang.UnsupportedOperationException,至于为什么是这样以下是asList()方法的源码

可以看到 new ArrayList<>(a) 其实是一个内部类,而且参数是array一个数组, 如果真的想在转化后的集合中添加元素,用以下方法

List<String> list = new ArrayList(Arrays.asList(arr))
复制代码

再写几种数组转集合的方法

使用Collections.addAll()

String[] arr = {"one", "two", "three"};
List<String> resultList = new ArrayList<>(arr.length);
Collections.addAll(resultList,arr);
复制代码

List.of() 此方法为 Java9新增方法,定义在List接口内,并且为静态方法,故可以由类名直接调用。

List<String> resultList = List.of(array);
复制代码

后续有的话继续更新

转载于:https://juejin.im/post/5cdbcd34e51d456e6479b55e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值