我的问题
我有一个包含自定义变量的固定大小ArrayList,尽管ArrayList具有固定大小,但其中很多变量实际上会是null。问题在于我需要返回不包含其中null变量的ArrayList。需要注意的一件重要事情:ArrayList将所有非null项排在前面,然后是所有null项,例如,元素没有混合。例如:[非null,非null,.... null,null,null]
我的解决方法
我考虑创建一个for循环,从最后一个索引开始检查ArrayList中的每个元素,以确定它是否为null。 如果为null,则调用此代码:
for (i = size-1; i >=0 ; i--) {
groupList = new ArrayList<>(groupList.subList(0, i));
}
我的问题
如果 ArrayList 太大,这个方法可能会特别慢(或者不会?)。我想知道是否存在更好的、更性能友好的解决方案。据我所知,.subList 方法很昂贵。
.subList
方法的时间复杂度为O(1)。它不进行任何复制,非常非常便宜。 - Louis Wasserman