Java SE 6.0 API 表示 java.util.HashMap
中的 values()
方法返回一个 Collection
类型。 JVM 如何决定在运行时返回哪个集合。它是特定于 jvm 的还是有 Java 遵循的任何一般准则。我浏览了 HashMap
的源代码,但找不到任何线索。非常感谢任何帮助,或者如果问题很蹩脚,请指出原因。谢谢。
最佳答案
你可以在源代码中看到:
public Collection<V> values() {
if (values == null) {
values = new AbstractCollection<V>() {
...
他们实际上给出了 AbstractCollection
的自定义实现。
了解此集合的重要一点是它不可序列化:永远不要尝试在客户端-服务器之间按原样发送它。
请注意,此摘录来自 Sun JDK 源代码。这意味着它特定于供应商实现。
关于java - Java中的HashMap.values()方法返回的集合是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17171721/