若传递一个list,且只需要在其中存储一个元素的list,简单的方法是有Collections.singletonList。

Collections.singletonList 长度为 1,初始完后不可修改。✅根据这个特性,在开发的时候遇到只要储存一个元素的集合,并且整个过程存储或者传递为主,不会进行修改或调整的情况下,推荐使用。

Collections.singletonList(o)返回值既不能调用add方法也不能set方法

Collections.singletonList 中保存元素的是一个对象.

List<Integer> list = Collections.singletonList(software.getId());

其中list中只含有一个Integr ID 的值。
 

而Arrays.asList(o)返回值是一个可变的集合,但是返回值是其内部类,不具有add方法,可以通过set方法进行增加值,默认长度是10。

Arrays.asList(o)返回对象只能调用set方法,不能调用add方法

可以看出singletonList内部类可以看出,其参数只有一个元素,因此可以做到分配内存最小化,而当我们使用Arrays.asList()时,其默认的存储长度为10。所以当我们只传一个元素时,用Arrays.asList()会有些浪费空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值