[英]Use [] in ArrayList of ArrayLists java
我正在创建一个哈希表,它是一个ArrayList<ArrayList<Integer>> Table = new ArrayList<ArrayList<Integer>>(size);
我想使用if(Table [n] == null)
检查哈希代码 n 的插槽是否为空,但这是错误的。 它出什么问题了?
您不能使用[...]
语法访问 ArrayList 的元素。 这仅适用于数组。 用
if(Table.get(n) == null)
反而。
作为一个无关的说明,请养成遵循 Java 命名约定的习惯。 变量名应以小写字母开头。
从根本上讲,哈希表的工作原理如下以插入项目(给予或接受):
int hash = obj.hashCode();
table[hash % table.length].push(obj);
您必须有一个确定的长度,表才能正常工作,并且能够在任何给定时间访问数组中的所有位置。 当然ArrayList
可以模仿这种行为,但它只会让它变慢,而且无论如何它只是一个普通的旧数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.