2010-09-03 60 views
2

我剛開始使用Java。請讓我知道這個說法是什麼Java矢量幫助

class ABC{ 
transient Vector<int> temp[]; 

ABC(int max) 
{ 
this.temp = new Vector [max]; 
} 

它是否創建一個int大小爲max的向量?

我是C++人。

+1

這是否編譯? – jjnguy 2010-09-03 19:56:36

+1

@Justin:連一個鏡頭都沒有。事實上,如果我沒有錯,這段代碼看起來像C++。 – Esko 2010-09-03 19:56:55

+0

@Esko,好的,我不這麼認爲。感謝您的確認。 – jjnguy 2010-09-03 19:58:34

回答

4

這將創建一個Vector對象的數組。數組的長度是任何以「max」傳遞的值。

如果您想要一個Vector,請關閉[]。需要進行一些更改才能獲得上面的代碼進行編譯。

import java.util.Vector; 

class ABC 
{ 
    transient Vector temp[]; 

    ABC(int max) 
    { 
     this.temp = new Vector[max]; 
    } 
} 
+0

只是爲了完整性 - 數組中的向量類型爲「int」,類似於C++模板。 – belwood 2010-09-03 20:07:12

+0

@belwood。如果你將一個int傳遞給一個集合,Java會尖叫。 – Tom 2010-09-03 20:14:13

3

沒有,

要創建初始容量最大,你應該

Vector<Integer> v = new Vector (max) 

注意兩件事情的矢量:整數的

  • 用法不是int。在Java中,Integer是一個對象,而int是一個基本類型。集合不能使用基本類型,它們使用對象。

  • v的容量不限於max元素。如果插入多於max的整數,它將會增長。

但讓API page來說話

Vector類可以實現可增長的 對象數組。與數組一樣,它也包含可使用整數索引訪問的組件 。 但是,矢量的大小可以增加 或根據需要縮小以適應 在創建矢量後添加和移除項目。

Each vector tries to optimize storage management by maintaining a 

容量和容量增量。容量總是至少與矢量大小一樣大 ;它通常是 較大,因爲隨着元件被添加到矢量 ,矢量的存儲 增加塊的大小 capacityIncrement。應用程序可以在插入大量的 組件之前增加矢量 的容量;這會減少增量重新分配的數量。

0

以下是有關Vector構造函數的javadoc。你最有可能尋找的是

this.temp = new Vector<int>(max); 
0

ABC類{ 瞬時矢量< 整數>臨時[];

ABC(int max) this.temp = new Vector [max]; }

read Integer而不是int。是的,它是有效的代碼。