2011-03-25 160 views

回答

1

我要檢查,如果這兩個值 存在第一陣列中如何 我做到這一點?

迭代你的第二個數組並檢查它與第一個數組的元素。

+0

也許他是要求一些代碼? – 2012-07-24 14:29:47

+0

@Xan:如果OP詢問了一些代碼,這個問題就會被關閉。 – 2012-07-24 15:43:18

+0

也許他沒有查看他的電子郵件?或者他不在乎? – 2012-07-24 16:02:42

7
Integer original[] = {1,2,3}; 
Integer input[] = {2,3}; 

if (Arrays.asList(original).containsAll(Arrays.asList(input))) 
{ 
    System.out.println("Yup, they're in there!"); 
} 

請注意,這將不會在原始(int)數組上工作;你必須將它們裝入Integer對象中。如果你的陣列是String[]你是黃金。

+0

不錯,簡潔! – levis501 2011-03-25 05:40:23

+0

當我使用asList()時,我無法找到符號! – sahana 2011-03-25 05:46:13

+0

Gah,對不起 - 正在從內存中執行此操作,並且內存失敗...編輯 – 2011-03-25 05:50:55

1

如果您對查詢「是我的數組中包含的值X?」,那麼您可能需要考慮切換數據結構。數組很適合按順序存儲有限的元素列表,數組元素的主要屬性是它們的位置。如果你想存儲這些元素,以便你可以很容易地檢查給定的元素是否存在,我強烈建議切換到將元素存儲在Set中,因爲這個接口更自然地支持這個想法。而且,HashSetTreeSet都可以比查詢數組更快地進行查詢查詢。

也就是說,如果你必須堅持使用數組,那麼在這裏的任何其他答案應該是完全正確的。我只是建議重新評估你是否應該首先使用數組。

0
for(int i=0;i<=orignal.length;i++) { 
if(orignal[0]==input[i] | orignal[0]==input[++i]) { 
    System.out.println("Yup, they're in there!"); 
} 
} 

這必將工作。

相關問題