class 协会<K,V> 通用列表数组
Array of List of class Association<K,V> Generic
我在 Whosebug 中查看了所有过去的问题,但没有找到适合我的问题的答案。
我想创建一个 class 关联列表数组,但执行后,我在行中有一个类似这样的异常:
private static final int SIZE=99999;
private List<Association <K,V>> [] hashtab;
hashtab = (List<Association <K,V>>[]) new Object [SIZE];
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.util.List; at com.code.classes.TableHachage.(TableHachage.java:20) at com.test.TestHash.main(TestHash.java:11)
我该如何解决?
注意:这是一个学术问题,所以我们不能直接使用HashTable,我们必须通过链接使用冲突解决,并为此使用LinkedList
为什么不只是:hashtab = (List<Association<K,V>>[]) new ArrayList[SIZE];
?
其实你不了解OOP的基本原理:class Object
的对象不能转换为任何其他class,因为Object
是超class 对于所有其他人。
不确定你为什么要试镜?那是你的问题。
尝试只做一个新的数组列表:
列表 listOfAssociations = new ArrayList();
让我知道你想用 "hashTable" 做什么。因为您可以使用 HashMap 或其他一些对象
(我对你想要达到的目标有点困惑)
使用其中之一
hashtab = new ArrayList[SIZE];
或
hashtab = (List<Association <K,V>>[])new ArrayList<?>[SIZE];
我在 Whosebug 中查看了所有过去的问题,但没有找到适合我的问题的答案。 我想创建一个 class 关联列表数组,但执行后,我在行中有一个类似这样的异常:
private static final int SIZE=99999;
private List<Association <K,V>> [] hashtab;
hashtab = (List<Association <K,V>>[]) new Object [SIZE];
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.util.List; at com.code.classes.TableHachage.(TableHachage.java:20) at com.test.TestHash.main(TestHash.java:11)
我该如何解决?
注意:这是一个学术问题,所以我们不能直接使用HashTable,我们必须通过链接使用冲突解决,并为此使用LinkedList
为什么不只是:hashtab = (List<Association<K,V>>[]) new ArrayList[SIZE];
?
其实你不了解OOP的基本原理:class Object
的对象不能转换为任何其他class,因为Object
是超class 对于所有其他人。
不确定你为什么要试镜?那是你的问题。
尝试只做一个新的数组列表: 列表 listOfAssociations = new ArrayList();
让我知道你想用 "hashTable" 做什么。因为您可以使用 HashMap 或其他一些对象
(我对你想要达到的目标有点困惑)
使用其中之一
hashtab = new ArrayList[SIZE];
或
hashtab = (List<Association <K,V>>[])new ArrayList<?>[SIZE];