-1
A
回答
2
int[] longArray = { 1, 3, 2 };
int[] shortArray = { 1, 2 };
//Check which array is longer, if b longer than a then swap
for (int x:longArray){
set.add(x);
}
for (int x:shortArray){
if (set.contains(x))
set.remove(x);
}
//odd numbers
for (Object i:set.toArray())
System.out.println(i+",");
我把兩個答案的投票,以前是嵌套循環,並可能對於非常長的陣列來說速度很慢在下一個解決方案中,有些人可能不喜歡TreeSet。
0
1
int[] longArray = { 1, 3, 2 };
int[] shortArray = { 1, 2 };
//Check which array is longer, if b longer than a then swap
boolean found = false;
int odd = 0;
for (int i : longArray) {
for (int j : shortArray) {
if (i == j)
found = true;
}
if (!found)
odd = i;
found = false;
}
System.out.println(odd);
0
如果你正在談論的一系列比較,看看java-is-there-an-easy-quick-way-to-and-or-or-xor-together-sets
這個SO問題是在設置界面方面講,但List接口也繼承自Collection的相關方法,所以複製你的數組到ArrayList對象變得很容易。
如果你想在本地陣列級別純粹保留它,你可能想要做的事,如:
public int[] findOddElement(int[] fromArray, int[] secondArray){
int[] result = new int[fromArray.length];
int resPointer = 0;
for (int i = 0;i < fromArray.length;i++){
boolean notFound = true;
for (int j = 0; j < secondArray.length; j++) {
if (fromArray[i] == secondArray[j]) {
notFound = false;
break;
}
}
if (notFound){
result[resPointer] = fromArray[i];
resPointer++;
}
}
if (resPointer > 0 && resPointer < fromArray.length) {
int[] newResult = new int[resPointer];
for (int i = 0;i < resPointer; i++) {
newResult[i] = result[i];
}
return newResult;
}
return result;
}
+0
ArrayList沒有實現Set接口。列表不擴展Set接口。 List和Set是Collection接口的兩個不同的擴展。 – ILMTitan 2009-12-21 19:09:53
+0
是的,我的錯誤:XOR討論中使用的功能由Collection接口的Set和List繼承。編輯答案。 – 2009-12-22 08:21:58
相關問題
- 1. 在兩個陣列中發現相似的元素
- 2. 從一個陣列,找了兩個陣列映射,從一個數組元素
- 3. 發現兩個元素
- 4. 從多個陣列中發現差異和缺失元素
- 5. 候選人在一個陣列發現多數元素
- 6. 獲取不與從陣列匹配元素與兩個元件
- 7. 發現兩個陣列的差異
- 8. 發現兩個PHP數組匹配的元素,然後列出兩個數組元素結合在一起
- 9. python合併兩個列表(偶數/奇數元素)
- 10. 陣列中元素的計數發生
- 11. 重新排列的數組元素爲兩個新的陣列
- 12. 獲取陣列中兩個元素之間的所有元素
- 13. 陣列中的發現三個元素不相鄰
- 14. 你怎麼一個元素
- 15. php數組發現所有子陣列中存在的元素
- 16. 陣列發現同一元素的數量
- 17. 我怎麼知道哪個元素從js觸發事件?
- 18. 如何從兩個陣列中刪除不常見的元素
- 19. Perl從兩個陣列中找到類似的元素
- 20. 從另一個陣列中排除一個陣列的元素
- 21. 如何從兩個其他陣列的元素中獲取4個陣列的多個集合,但沒有元素在相同陣列中兩次
- 22. 從兩個陣列
- 23. 從兩個陣列
- 24. 根據另一個陣列的空元素從陣列中刪除元素
- 25. 我怎樣才能找到同一陣列中兩個元素之和爲k
- 26. 根據元素的奇數/偶數位置變換陣列
- 27. 結合兩個不同數量的元素的單獨陣列
- 28. 比較兩個陣列並打印匹配元素的數量
- 29. 添加兩個數組的相應元素到第三陣列
- 30. 兩個陣列與複數元素的聯合
你的問題是不連貫的,第二個數組是什麼? – Alon 2009-12-21 09:13:14
確定您正在尋找提示找到奇數(1,3,5,...)還是其他的? – 2009-12-21 09:18:23
我認爲他正在試圖比較這兩個數組並找出其中的唯一數字。所以根據他的例子提供的答案必須是3 .... – Hariharbalaji 2009-12-21 13:24:29