ArrayList 中有空元素

今天在两个不同的地方遇到了一样的问题,,,以前从来没有遇到过,,由于有空元素所以进入循环操作会报错,上次是因为数组里只有一个元素,是空元素,所以进入循环时判断第一个元素是否为空就可以了,这次是null元素散布在List里,所以查到了这个解决办法:

list.removeAll(Collections.singleton(null));

由此引出了Collections是啥,singleton干啥的,removeAll干啥用的,还见有人比较removeall与clear的区别:

java.util.Collections 是一个包装类。它包含有各种有关集合操作的 静态多态方法。此类 不能实例化,就像一 个工具类,服务于Java的Collection框架。 他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

singleton()方法用于返回不可变集[即不可变集仅包含给定对象(obj)]:这个没搞懂啥意思,我试了试传入带一个null的普通Set是一样的。

removeall只清理特定范围内的,时间复杂度n^{2},而clear只是遍历删除list所有元素,时间复杂度n。

另外还顺便发现java变量名也可以是中文的了,神奇...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值