2014-04-23 60 views
0

我想創建一個鏈接的哈希表。它必須linkedlists的列表中,istructions說我應該如下做:創建鏈表的數組列表

ArrayList<LinkedList<String>> hashTable 

初始化表我用這個代碼:

  public static ArrayList<LinkedList<String>> createNewTable(){ 
    double tableSize = Math.pow(baseTableSize, initialTableExponent); 
    for (int i = 0; i < tableSize; i++){ 
     LinkedList<String> row = new LinkedList<String>(); 
     hashTable.add(row); 
    } 
    return hashTable; 
} 

但是,當我在運行它「主」 我得到這個異常:在線程

異常 「主」 顯示java.lang.NullPointerException

有什麼問題? 有沒有更好的方法呢?

的感謝!

+2

你在哪裏初始化變量hashTable中(這實際上是ArrayList的)?在添加元素之前,你需要在某個地方說出「新」。 – hovanessyan

回答

3

ArrayList<LinkedList<String>> hashTable; 

應該

ArrayList<LinkedList<String>> hashTable = new ArrayList<>(); 

即你應該實例化哈希表。

1

假設hashTable是一個成員變量,你可以在構造函數中做到這一點;

hashTable = new ArrayList<LinkedList<String>>();