垃圾收集递归时的Java Map内容?

时间:2012-11-06 13:04:06

标签: java list recursion map garbage-collection

我使用如下结构:

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

如果我这样做:

OverallMap . clear ( )

clear()(HashMap对象,Integer对象和LinkedList对象)丢弃的所有内容最终都会被垃圾收集,或者我必须一直迭代到列表并调用在clear()内部地图然后clear()外部地图之前对它们进行清除()?

3 个答案:

答案 0 :(得分:9)

只要没有别的东西引用那些其他对象,它们就会被垃圾收集。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

是的,如果您使用.clear(),那么除了一些OverallMap内部构件之外的所有内容都将被垃圾收集。