我發現了一個有效的代碼添加使用下面的方法獨特的項目:爲什麼我們在使用Set來添加唯一值時使用ArrayList?
int[] values = { -5, -3, -1, 0, 3, 6 };
List<Integer> list=new ArrayList<Integer>();
for(int val : values)
{
if(!list.contains(val))
list.add(val);
}
我可以用一個HashSet,而不是使用一個ArrayList也做了同樣的工作。這會幫助我,不用擔心檢查列表中是否存在價值。爲什麼使用Hashset不是一種有效的方法?
一個'List'從來沒有被滿足/被設計爲保存唯一值,所以我沒有看到你的問題的重點。如果你想保持獨特的價值,只需繼續'Set'。爲此目的使用正確的數據結構。 – BalusC 2011-04-27 04:23:44
一個ArrayList可以保持唯一的值就好,它不能確保唯一性。對於按位置查找而言,它比'contains'更好(它必須掃描列表)。我們需要更多關於他想實現的內容的背景。 – Thilo 2011-04-27 04:26:14