I’ve been trying to implement a hash table in Java for an exercise. For that, I’m trying to use an array of linked lists. Following is a part of the code:
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>;
}
The problem is, whenever I run the code, it says:
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
What is it that I’m doing wrong here?
You’ve put code outside a method (and outside static initialization blocks).
You can declare variables, but not execute code. The bulk of your code should be in methods.