Just use Object[]
as your data store, and manually cast it to the specific type. This is acceptable in building infrastructure stuff, where type relations can be harder than usual.
For what it's worth, this is the way to create generic array in Java:
@SafeVarargs
static E[] newArray(int length, E... array)
{
return Arrays.copyOf(array, length);
}
//used in your example
private LinkedList[] table;
public HashTable(int size) {
table = newArray(size);
}