2011-03-04 124 views
4

我想知道如果我可以創建一個數組而不必輸入一個值。我並不完全瞭解它們是如何工作的,但我正在做一個庫存程序,並希望我的數組的設置方式可以讓用戶輸入產品及其相關變量,直到它們完成,然後它需要使用方法來計算所有產品的總成本。什麼是最好的方式來做到這一點?是否可以創建一個開放式數組?

回答

1

隨着軌道指出,使用ArrayList或者矢量爲您的數據存儲需求,他們並不需要特定的大小分配同時聲明。

3

是的,你可以這樣做。而不是使用基本類型數組,例如new int[10],請使用類Vector類或ArrayList(差異檢查API文檔)。使用ArrayList如下所示:

ArrayList myList = new ArrayList(); 
myList.add("Item 1"); 
myList.add("Item 2"); 
myList.add("Item 3"); 
// ... etc 

換句話說,它會隨着添加內容而動態增長。

0

你應該熟悉Java集合框架,其中包括ArrayList的,正如其他人指出。很高興知道其他收集對象是否可用,因爲某些需求可能比另一個更適合您的需求。例如,如果你想確保你的「列表」不包含重複元素,那麼HashSet可能就是答案。

http://download.oracle.com/javase/tutorial/collections/index.html

0

其他的答案已經告訴怎麼做是正確的。爲了完整起見,Java中的每個陣列具有一個在創建確定並且從不改變一個固定的大小(長度)。 (數組也有一個組件類型,它永遠不會改變。)

所以,你必須創建一個新的(大)陣列時,你的舊數組已滿,複製舊內容上。幸運的是,ArrayList類會替你當其內部的支持數組是滿的,所以您可以集中精力於手頭的實際業務任務。

相關問題