我正在編寫一個程序,它將嚴重依賴於......某些東西......它存儲的數據類似於數組,我可以在任何給定時間訪問數據的任意點我可以在一個數組中。用於java的數組vs array []
我知道java庫有一個我可以使用的Array類,或者我可以使用原始數組[]。
我期望使用數組類型更容易編碼,但我期望它的效率也稍低。
我的問題是,哪個更適合在這兩者之間使用,還有更好的方法來完成相同的結果嗎?
我正在編寫一個程序,它將嚴重依賴於......某些東西......它存儲的數據類似於數組,我可以在任何給定時間訪問數據的任意點我可以在一個數組中。用於java的數組vs array []
我知道java庫有一個我可以使用的Array類,或者我可以使用原始數組[]。
我期望使用數組類型更容易編碼,但我期望它的效率也稍低。
我的問題是,哪個更適合在這兩者之間使用,還有更好的方法來完成相同的結果嗎?
實際上Array
將是沒有幫助 - 這不是你所想的那樣。另一方面,類別java.util.ArrayList
是。一般來說,如果您可以使用類似ArrayList
這樣的集合類進行編程,那麼您可以更輕鬆地獲得更易於閱讀的正確靈活的軟件。這個「如果」幾乎一直都適用;原始數組是作爲最後手段使用的東西,或者更常見的情況是,當您要調用的方法需要一個作爲參數時。
啊。謝謝,ArrayList是我正在尋找和這回答我的問題。 – Andy
Array
類用於Java 反射並且非常非常少用。
如果要將數據存儲在數組中,請使用普通的舊數組,如[]
或Gabe對此問題的建議java.util.ArrayList
。 ArrayList
是,因爲你的評論建議更容易編碼(當涉及到添加和刪除元素!!),但是,效率稍低。對於可變尺寸的集合,ArrayList
幾乎都是必需的。
我的問題是,哪個更適合在這兩者之間使用,還有更好的方法來完成相同的結果嗎?
這取決於你想要達到的目的:
如果元素的數組中的數量是已知的時間提前,然後數組類型是一個不錯的選擇。如果不是,則List
類型(至少)更方便使用。
的List
接口提供了許多方法,如contains
,insert
,remove
等,可以節省你的編碼...如果你需要做那種事。
如果正確使用,數組類型將佔用更少的空間。對於使用List
表示元素需要使用包裝類型來表示的原始類型的數組,這種差別尤其顯着(例如byte
變爲Byte
)。
的Array
類是在此上下文中是有用的,並且既不是Arrays
類。選擇範圍在ArrayList
(或其他List
實現類)和原始數組之間。
在易用性方面,Array類更容易編碼。 數組[]在你需要知道 對象列表事先的大小的情況而言相當有問題。
相反,你可以使用HashMap。它在搜索和排序上非常高效,因爲整個過程都是按照關鍵值進行的。
你可以宣佈一個HashMap爲:
HashMap<String, Object> map = new HashMap<String, Object>();
因爲你可以使用你的類的對象,重點使用它需要的值是唯一的。
爲什麼它被拒絕投票?提問者沒有要求換一種方式嗎? – venomrld
-1「Array類是比較容易的代碼有很多」 - 'Array'是一個工具類,以及它已經建立了OP的意思'ArrayList'。另外,'HashMap'提供了OP不需要的功能,不再像數組或List一樣排序。 –
究竟是什麼你想怎麼辦?你知道預先存儲了多少元素嗎? –
你真的指'Array',還是你的意思是'ArrayList'? – Gabe
是[這](http://download.oracle.com/javase/6/docs/api/java/lang/reflect/Array.html)的'Array'你指的是?這只是一個實用程序類。 –