繁体   English   中英

List和Enumeration之间的区别

[英]Difference between the List and Enumeration

我有一个写一个方法来获取所有记录并返回列表类型,但我失去了内存错误。 所以我将返回类型从List更改为Enumeration,在方法中,而不是ArrayList,使用Vector并在方法的末尾返回vector.elements。 它没有任何错误。 但我不明白为什么。

有人可以解释为什么这个枚举有效吗?

EnumerationIterator的“旧版本”。
VectorArrayList的“旧版本”。

记忆差异不应该是显着的,所以你观察到的波动可能是另一回事。

根据列表的大小,您可能需要增加JVM的最大内存(使用XmxXms和/或XX:MaxPermSize

你必须修复别的东西。 Vector将使用比ArrayList 更多的内存,并且返回枚举而不是列表本身只会增加更多的内存使用量,除非你的调用者使用列表迭代器,在这种情况下它是行球。 这种策略肯定没有理由使用明显更少的内存。

除非您返回原始列表的副本 作为一个新的ArrayList? 这至少会在制作副本时将内存使用量增加一倍,但它必须是一个非常长的列表......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM