2012-02-14 2 views
0

나는 배열리스트의 두 가지 유형을 비교하려면 즉 안드로이드에서 두 가지 유형의 배열 목록을 비교하는 방법은 무엇입니까?

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

그래서 list1list2을 비교하고 모두 동일되는 인덱스의 수를 싶어

?

+2

두 항목이 서로 다른 유형의 경우 어떻게 같을 수 있습니까? –

+1

어떻게 ObjectInputStream과 inteter를 비교할 수 있습니까 ??? – shift66

+1

먼저 A 유형의 요소가 B 유형의 요소와 "동일"하다는 것을 정의해야합니다. – hovanessyan

답변

1

그래서 list1과 list2를 비교하여 둘 다 동일한 인덱스 수를 얻고 싶습니다.

은 (난 당신이 AB 위해 가지고 어떤 종류의 아무 생각이 없다,하지만 난 그냥 equals를 사용하여 비교하는 것이 합리적이라고 가정합니다.) 당신은 반복 할 Iterator의를 사용할 수 있습니다

목록을 만들고, if 문을 사용하여 동일한 각 요소에 대해 카운터를 증가시킵니다. arraylists에 대한

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

답장을 보내 주셔서 감사합니다. –

+0

여러분을 환영합니다. – aioobe

-5

사용 크기 방법은 최대 인덱스를 얻을 수 :

하면 (list1.size() == list2.size()) { ...... }

요소의 유형이 서로 다른 경우 요소를 비교할 수 없습니다.

+0

답장을 보내 주셔서 감사합니다.하지만 왜 다른 유형의 요소를 비교할 수 없습니까? –

+0

오류 메시지가 무엇입니까? 어떤 유형을 비교하려고합니까? – aioobe

+0

죄송합니다. 귀하의 질문을 이해하지 못했기 때문에 이전 답변이 올바르지 않습니다 (영어 이해, :() – equero

관련 문제