嘿,我一直在搞亂java並創建這個程序,它會經過一個數組並找到數組中的所有重複項,它的工作非常棒!但有一個小問題,如果我運行該程序,並有一個價值超過2個副本將輸出發現相同值的兩個副本 - 這可能解釋它更好在數組中查找重複項
輸出
Duplicates in Array: 1
Duplicates in Array: 8
Duplicates in Array: 8
我一直停留在這一段時間,現在我知道它可能是一些小錯誤,但如果有人可以幫助我走出這將是真棒,代碼如下,感謝
import java.util.Arrays;
public class Duplicates {
public static void main (String[] args) {
int[] values = { 8, 5, 9, 8, 6, 13, 33, 1, 98, 12, 8, 1 };
Arrays.sort(values);
for(int i = 1; i < values.length; i++) {
if(values[i] == values[i - 1]) {
System.out.println("Duplicates in Array: " + values[i]);
}
}
}
}
你應該用一個HashSet,只允許獨特的元素,並會自動忽略重複的值。 –
Afforess
2014-10-26 21:54:19
http://stackoverflow.com/questions/7414667/identify-duplicates-in-a-list似乎是一個非常類似的問題 – eee 2014-10-26 21:59:47
好吧,如果你需要找出每個值有多少重複,那麼你可以很容易地創建一個Map,然後迭代數組,並將您的數組值作爲映射鍵,並在該條目已存在時增加映射值(對於鍵)。 –
2014-10-26 22:00:26