1

我使用如下结构:

HashMap < EnumA , HashMap < Integer , LinkedList < EnumB > > > OverallMap

如果我要这样做:

OverallMap . clear ( )

被(HashMap 对象、Integer 对象和 LinkedList 对象)丢弃的所有内容clear()最终会被垃圾收集吗,还是我必须一直迭代到列表并在它们之前调用 clear( clear())内部映射然后clear()ing 外部映射?

4

3 回答 3

9

只要没有其他对象引用这些其他对象,它们就会被垃圾收集。

于 2012-11-06T13:06:01.653 回答
1

您需要做的就是clear()在顶层调用,除非这些集合在其他地方被引用,但您只能在一个地方清除它们。

于 2012-11-06T13:06:38.163 回答
0

是的,如果你使用 .clear(),除了一些OverallMap 内部结构之外的所有东西都将被垃圾收集。

于 2012-11-06T13:07:04.943 回答