链接列表数组

时间:2011-11-27 02:55:43

标签: java arrays linked-list hashtable

我一直在尝试用Java实现一个哈希表来进行练习。为此,我正在尝试使用一系列链表。以下是代码的一部分:

class HashSet implements HashInterface {

    private final int TABLE_SIZE = 100;
    private LinkedList<Integer>[] myTable;

    myTable = (LinkedList<Integer>[]) new LinkedList[TABLE_SIZE];

    for (int i = 0; i < TABLE_SIZE; i++)
        myTable[i] = new LinkedList<Integer>;
}

问题是,每当我运行代码时,它都说:

C:\Java\hash>javac Main.java
Main.java:17: error: <identifier> expected
    myTable = (LinkedList<Integer>[]) new LinkedList[TABLE_SIZE];
           ^
Main.java:19: error: illegal start of type
    for (int i = 0; i < TABLE_SIZE; i++)
    ^
Main.java:19: error: ')' expected
    for (int i = 0; i < TABLE_SIZE; i++)
              ^
Main.java:19: error: illegal start of type
    for (int i = 0; i < TABLE_SIZE; i++)
                 ^
Main.java:19: error: <identifier> expected
    for (int i = 0; i < TABLE_SIZE; i++)
                  ^
Main.java:19: error: ';' expected
    for (int i = 0; i < TABLE_SIZE; i++)
                   ^
Main.java:19: error: > expected
    for (int i = 0; i < TABLE_SIZE; i++)
                                  ^
Main.java:19: error: '(' expected
    for (int i = 0; i < TABLE_SIZE; i++)
                                     ^
Main.java:20: error: ']' expected
        myTable[i] = new LinkedList<Integer>;
                ^
Main.java:20: error: ';' expected
        myTable[i] = new LinkedList<Integer>;
                 ^
Main.java:20: error: <identifier> expected
        myTable[i] = new LinkedList<Integer>;
                                            ^
11 errors 

我在这里做错了什么?

2 个答案:

答案 0 :(得分:6)

您已将代码置于方法之外(以及静态初始化块之外)。

您可以声明变量,但不能执行代码。您的大部分代码都应该在方法中。

答案 1 :(得分:1)

改变这个 -

myTable[i] = new LinkedList<Integer>;

myTable[i] = new LinkedList<Integer>();

同样@Dav Newton提到 - 您的处理代码应该在方法中。