2012-02-14 65 views
0

我想比較兩種不同類型的數組列表中即如何在android中比較兩種不同類型的數組列表?

ArrayList<A> list1 = new ArrayList<A>();
ArrayList<B> list2 = new ArrayList<B>();

所以我想比較list1list2並獲得指數在這兩個相同的數?

+2

如果兩個項目屬於不同類型,兩個項目如何可以相同? – 2012-02-14 13:45:34

+1

你怎麼比較說ObjectInputStream和inteter? – shift66 2012-02-14 13:45:55

+1

首先你應該定義A類型的元素與B類型的元素是「相同的」。 – hovanessyan 2012-02-14 13:46:52

回答

1

所以我想比較list1和list2,並得到兩個指數都相同的計數?

(我不知道你有什麼類型AB,但我就認爲這是有道理的使用equals對它們進行比較。)

您可以使用Iterator s到迭代列表,並使用if語句爲每個相等的元素遞增計數器。爲的ArrayList

Iterator<A> iter1 = list1.iterator(); 
Iterator<B> iter2 = list2.iterator(); 

int sameCounter = 0; 

while (iter1.hasNext() && iter2.hasNext()) 
    if (iter1.next().equals(iter2.next())) 
     sameCounter++; 
+0

感謝您的回覆。 – 2012-02-14 13:48:53

+0

不客氣。 – aioobe 2012-02-14 13:52:58

-5

使用大小的方法以獲得最大的指標:

如果(list1.size()== list2.size()){ ...... }

如果元素的類型不同,則無法對它們進行比較。

+0

感謝您的答覆。但爲什麼我們無法比較不同類型的元素? – 2012-02-14 14:00:24

+0

什麼是錯誤信息?你想要比較哪些類型? – aioobe 2012-02-14 15:05:06

+0

對不起,我想我不明白你的問題,所以我以前的答案是不正確的(我的英語理解,:() – equero 2012-02-14 16:27:27

相關問題