ADT Bag数组实现中移除元素为何替换为null?
关于remove方法将移除条目替换为null的正确答案分析
正确答案是 b. 该条目可被安排进行garbage collection
各选项分析:
- 选项a:错误。remove方法的常规设计是返回被移除的元素本身,客户端并不会期望返回null来确认移除操作,该选项不符合实际逻辑。
- 选项b:正确。将被移除的条目替换为null后,原对象若不再有其他强引用指向它,就会失去所有引用关联,垃圾回收器就能将其标记为可回收对象,以此释放内存,避免内存泄漏。
- 选项c:错误。故障安全编程通常针对并发场景下避免异常抛出,将条目置为null和故障安全没有直接关联。
- 选项d:错误。集合中重复值的判定依赖元素的
equals()等逻辑,和是否保留原条目无关,该选项逻辑不成立。
内容的提问来源于stack exchange,提问作者Pratham Gandhi
相关产品推荐
相关产品推荐

