繁体   English   中英

在ArrayLists的ArrayList中使用[] java

[英]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.

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