ArrayList中的Java空元素
我只是有一个谷歌无法解决的简单问题。因此,如果我将一个ArrayList
的一些元素设置为null
,它们仍然会被计算在list.size()
中,并且剩余元素的索引仍然保持不变吗
如果没有,你们谁能建议我怎么做
你可以在下面搜索框中键入要查询的问题!
我只是有一个谷歌无法解决的简单问题。因此,如果我将一个ArrayList
的一些元素设置为null
,它们仍然会被计算在list.size()
中,并且剩余元素的索引仍然保持不变吗
如果没有,你们谁能建议我怎么做
# 1 楼答案
从测试代码或阅读源代码推断类行为是一个坏主意,这也是因为ArrayList不是最终版本,您获得的类可能是ArrayList的扩展版本,具有不同的实现
只要阅读List和ArrayList契约,它们必须在扩展类中得到满足:
List:
有序的集合(也称为序列)。。。 一些列表实现对它们可能包含的元素有限制。例如,有些实现禁止空元素,有些实现对其元素的类型有限制
ArrayList:
列表接口的可调整大小的数组实现。实现所有可选的列表操作,允许所有元素,包括null
合约上说ArrayList允许空元素,所以你的问题的答案是肯定的,列表大小和索引保持不变
# 2 楼答案
是的,看看
add()
方法实现,例如:由于
ArrayList.size()
只返回size
变量的值,很明显,如果添加null
,大小将增加1,因此,是的,null
被计数# 3 楼答案
您可以从列表中删除所有元素
参考:http://www.mhaller.de/archives/12-How-to-remove-all-null-elements-from-a-Collection.html