Java HashMap vs ArrayList中类型参数的实现
Java HashMap vs ArrayList中类型参数的实现,java,generics,Java,Generics,HashMap将数据存储为条目数组。i、 e Entry<K,V>[] table 所以想知道为什么ArrayList不使用E类型的数组???简短回答:试着自己实现它,看看会发生什么。答案很长:因为Java使用类型擦除,并且您需要在运行时知道类型才能创建新数组,newe[size]将无法编译,因此如果没有某种技巧,它无法做到这一点。但是,创建新数组不需要知道泛型参数,因为它们已被擦除,所以在运行时不必知道它们。简短回答:尝试自己实现它,看看会发生什么。答案很长:因为Java使用类型
HashMap
将数据存储为条目数组。i、 e
Entry<K,V>[] table
所以想知道为什么ArrayList不使用E类型的数组???简短回答:试着自己实现它,看看会发生什么。答案很长:因为Java使用类型擦除,并且您需要在运行时知道类型才能创建新数组,
newe[size]
将无法编译,因此如果没有某种技巧,它无法做到这一点。但是,创建新数组不需要知道泛型参数,因为它们已被擦除,所以在运行时不必知道它们。简短回答:尝试自己实现它,看看会发生什么。答案很长:因为Java使用类型擦除,并且您需要在运行时知道类型才能创建新数组,newe[size]
将无法编译,因此如果没有某种技巧,它无法做到这一点。但是,创建新数组不需要知道泛型参数,因为它们已被擦除,所以在运行时不必知道它们。E[]
和Entry[]
不是一回事。HashMap做了一件事,ArrayList其他人不同意这是重复的;标记为重复的问题不包括HashMap不同的原因。E[]
和Entry[]
不是一回事。HashMap做了一件事,ArrayList其他人不同意这是重复的;标记为重复的问题不包括HashMap不同的原因。
Object[] elementData