Массив LinkedLists - PullRequest
       9

Массив LinkedLists

0 голосов
/ 27 ноября 2011

Я пытался реализовать хеш-таблицу в 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 ]

6 голосов
/ 27 ноября 2011

Вы поместили код вне метода (и вне статических блоков инициализации).

Вы можете объявлять переменные, но не выполнять код. Основная часть вашего кода должна быть в методах.

1 голос
/ 27 ноября 2011

Изменить это -

myTable[i] = new LinkedList<Integer>;

до

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

Также, как упоминал @Dav Ньютон - Ваш код обработки должен быть внутри метода.

...