下面的代碼執行以下操作:在「A」的每個元素,尋找是否有匹配的元素「B」:新到Java - 代碼列出重複需要優化
String a[] = new String[]{"a","b","c"};
String b[] = new String[]{"e","f","a","a"};
String hold="";
for (int i = 0; i < a.length; i++){
for (int k = 0; k < b.length; k++){
if (a[i].equals(b[k]) ){
hold+=a[i];
}//if
}//for
}//for
問題有時陣列'b'可以包含重複項,但我們不希望 重複項被記錄在變量'hold'中
以下是我試過的 - 將所有匹配項保存到HashSet,然後使用containsKey )到第一個 檢查它是否在hashset中,如果沒有,則更新'hold'變量。還嘗試記錄陣列中的每個匹配,並在更新'保持'變量之前首先檢查該陣列
是否有另一種方法可以做到這一點?有沒有更好的方法來做到這一點?
看起來不錯,但如果重複的陣列存在「一」? – 2014-09-26 15:49:12
編輯我的答案。添加一個標籤並中斷您定義的標籤。 – 2014-09-26 15:59:09
此外,如果你要檢查是否有'a'中的重複,那麼一個for不是最好的解決方案,你應該使用其他人在這裏已經顯示的其他人:) – 2014-09-26 16:05:01