2017-04-20 74 views
1

如何使用集合在Java中創建鏈接列表的向量? 到目前爲止,我已經寫了下面的代碼:鏈接列表向量

Vector <LinkedList <Integer> > adj = new Vector<>(); 

但我無法弄清楚如何初始化鏈表的頭節點的載體。

我想給出一個整數n什麼,我希望與值0作爲頭節點初始化向量N-1:

e.g given N = 4 

vector ---> 0 
      1 
      2 
      3 

這樣,以後我可以添加成員名單時,需要這樣的:

vector ---> 0->2->3 
      1->3 
      2->0->1 
      3->1 
+2

您可以像您一樣創建一個'Vector',然後根據需要添加儘可能多的空'LinkedList'對象。但首先,你爲什麼要使用「Vector」?這聽起來很像一個[XY問題](http://xyproblem.info) –

+0

這是對@ JimGarrison的評論wrt的解釋。 'VECTOR'。從'Vector'的Javadoc:[「如果不需要線程安全的實現,建議使用'ArrayList'來代替'Vector'。」](https://docs.oracle.com/javase/ 8 /文檔/ API/JAVA/util的/ Vector.html) – Turing85

回答

1

隨着你寫的代碼,你已經創建了一個空載體 - 你有LinkedList的實例的所需數量來填補它(我猜你是一個C++程序員,其中矢量將初始化「自動化」 ically「?)。例如。初始化您的載體是這樣的:

int N = 4; 
Vector<LinkedList<Integer>> adj = new Vector<>(N); // N here isn't really needed, but it sets the initial capacity of the vector 
for (int i = 0; i < 4; i++) { 
    ajd.add(new LinkedList<>()); 
} 

此外,作爲Turing85指出,你應該使用ArrayList如果你並不需要同步。