Java哈希表填充
我正在写一个哈希表代码。根据表大小选择模式。我想从表-1和null开始。我知道它是空的。Java哈希表就绪。所以我没有找到太多的例子 我的填充方法未运行Java哈希表填充,java,hashtable,Java,Hashtable,我正在写一个哈希表代码。根据表大小选择模式。我想从表-1和null开始。我知道它是空的。Java哈希表就绪。所以我没有找到太多的例子 我的填充方法未运行 class Node{ int index; int number; Node next; public Node(int index,int number,Node next){ this.index=index; this.next=next; this.number=number; } } 类表{ int m
class Node{
int index;
int number;
Node next;
public Node(int index,int number,Node next){
this.index=index;
this.next=next;
this.number=number;
}
}
类表{
int max_行;
公共表(整数大小){
此.max_行=大小;
}
节点行[]=新节点[最大行];
公共空白填写(){
对于(inti=0;i您应该在构造函数中初始化数组,因为现在它是用未知的max\u行初始化的
class Table {
int max_row;
Node rows[];
public Table(int size) {
this.max_row = size;
rows = new Node[max_row];
}
您正在尝试将节点数组的大小设置为初始化之前的最大值大小。请将您的类更改为此值
class Table{
int max_row;
Node rows[];
public Table(int size){
max_row = size;
rows = new Node[max_row];
}
public void fill_in(){
for(int i=0; i<max_row;i++)
rows[i]=new Node(-1,-1,null);
}
}
类表{
int max_行;
节点行[];
公共表(整数大小){
最大行=大小;
行=新节点[最大行];
}
公共空白填写(){
对于(int i=0;i“未运行”或“未编译”?ArrayIndexOutOfBoundsCeption您的大小是多少?您的输入示例是什么?@Tunaki这不是您的链接的副本,他的错误直接是因为他在初始化max_行之前尝试初始化数组,这就是他在尝试填充数组时出错的原因。@RAZ我不同意,他们的问题是ArrayIndexOutOfBoundsCeptionOption
,它在链接的问题中解释了一个原因。解决问题的实际步骤可能不同,但真正理解问题会更有帮助,并且总能找到解决方案。OP不知道异常意味着什么,因此重定向到规范是帮助他们的最佳方式。
class Table{
int max_row;
Node rows[];
public Table(int size){
max_row = size;
rows = new Node[max_row];
}
public void fill_in(){
for(int i=0; i<max_row;i++)
rows[i]=new Node(-1,-1,null);
}
}