我沒有那種Java(但學習)數據結構的經驗,並不確定要選擇什麼類型的列表。我的問題是我正在創建一個套接字服務,它接收數據並根據列表對其進行檢查,如果它不存在,那麼它會傳遞要處理的數據並將數據ID號添加到列表中,以便相同的數據不會再次處理(處理數據的服務不知道是否存在重複的工作,所以這是作爲過濾器)。不確定哪種類型的清單要選擇?
我看到ArrayList速度很快,但我只是意識到它需要我知道列表的大小,而不是隨着它的不斷增長(它肯定會觸及數十億個物品)。我以爲我會用舊的時尚整數[],但認爲我會問是否有更好的方法。
有幾個細節與我的過程有關,我的數據本身很複雜,但對於查找,我將數據轉換爲散列碼並檢查這些數據以便我所有的數據都是整數(正數/負數)以及客戶端請求是通過可運行的程序來完成的,所以如果我能做些事情來提高數據的效率,我可以做到這一點(我在想,因爲它的所有Integers可能經常對它進行排序以使循環更快?)。是整數[]足夠好還是有更好的?
我希望它不會超過2,147,483,647項。那麼你會遇到比選擇哪種類型的列表更大的問題。 – Jeffrey 2012-04-16 01:34:35
@Jeffrey我會保持我的手指交叉它不:-) – Lostsoul 2012-04-16 01:35:16
你應該使用一個Set而不是List來避免重複。 – Hassan 2012-04-16 01:38:41