Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java哈希表填充_Java_Hashtable - Fatal编程技术网

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

我正在写一个哈希表代码。根据表大小选择模式。我想从表-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 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);
}
}