data[size] = null;是否只针对removeLast情况生效?

来源:2-6 使用泛型

落水风车

2019-05-22

在remove方法中,首先执行了size–;再执行data[size] = null;可是除了removeLast这种情况,size–后,data[size]和data[size-1]应该都是执行同一个对象,所以对于除了removeLast这种情况外应该都是无用的吧?

写回答

1回答

liuyubobobo

2019-05-23

可能我没有特别理解你的问题。。。


对于所有的remove,执行以后,都会将原来的size个有效元素变成size-1个有效元素。同时,我们的删除过程,会将这size-1个有效元素相邻的码好。所以,原先的最后一个位置都失效了。我们手动将这个位置的引用置为空。


不过这句话不写也可以。可以参考这里:https://coding.imooc.com/learn/questiondetail/67921.html


继续加油!:)

0
1
落水风车
非常感谢!老师我的理解是,我们自定义的remove方法执行后size-1.此时除了removelast这种情况外data[size-1]和data[size]指向同一个对象,这句话生效的机会不多。
2019-05-24
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程