2012-02-14 13 views
0

私は配列リストの二つの異なるタイプ、すなわちアンドロイドの2種類の配列リストを比較するには?

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

を比較するには、だから私はlist1list2を比較し、両者が同じである時に、インデックスの数を取得したいですか?

+2

種類が異なる場合、2つのアイテムはどのように同じになりますか? –

+1

ObjectInputStreamとinteterをどのように比較できますか? – shift66

+1

最初に、タイプAのエレメントがタイプBのエレメントと同じであることを定義する必要があります。 – hovanessyan

答えて

1

だから、私はlist1とlist2を比較して両方のインデックスが同じであることを知りたいですか?

は(私はあなたがABのために持っているものの種類が分からないが、私はちょうどそれがequalsを使用して、それらを比較するために理にかなっているものとします。)あなたは反復処理するIterator Sを使用することができます

リストを作成し、if文を使用して等しい要素ごとにカウンタをインクリメントします。

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

最大インデックスを取得するためのArrayListに使用サイズ法:

IF(list1.size()== list2.size()){ ......}

要素の型が異なる場合、要素を比較することはできません。

+0

あなたの返信ありがとうございます。しかし、私たちはなぜ異なるタイプの要素を比較できないのですか? –

+0

エラーメッセージは何ですか?どのようなタイプを比較しようとしていますか? – aioobe

+0

申し訳ありませんが、私はあなたの質問を理解していないと思うので、私の以前の答えは正しくありません(私の英語理解、:() – equero

関連する問題