2017-01-16 172 views
0

我在写一个哈希表代码。根据表大小采取模式。我想从表-1开始,并且null。我明白它是空的。 Java哈希表就绪。所以我没有找到很多例子。Java哈希表填充

我的fill_in方法未运行。

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; 
} 

}

class Table{ 
int max_row; 

public Table(int size){ 
    this.max_row=size; 
} 

Node rows[]= new Node[max_row]; 

public void fill_in(){ 

    for(int i=0; i<max_row;i++) 
     rows[i]=new Node(-1,-1,null); 
} 
+0

“不运行”或“不编译”? –

+0

ArrayIndexOutOfBoundsException – mrsengineer

+0

您的尺寸是多少?你的输入示例? – Frakcool

回答

0

你应该初始化在构造阵列,因为现在它与未知MAX_ROW初始化。

class Table { 
    int max_row; 
    Node rows[]; 

    public Table(int size) { 
     this.max_row = size; 
     rows = new Node[max_row]; 
} 
0

您试图在初始化之前将节点数组的大小设置为max_size中值的大小。改变你的班级到这个

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); 
} 
}