如何在android中比较两种不同类型的数组列表?

时间:2012-02-14 13:43:29

标签: java

我想比较两种不同类型的数组列表,即

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

所以我想比较list1list2并得到两者相同的索引数?

2 个答案:

答案 0 :(得分:1)

  

所以我想比较list1和list2并得到两者相同的索引数?

(我不知道您对AB有哪些类型,但我只是假设使用equals比较它们是有意义的。)

您可以使用Iterator来迭代列表,并使用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++;

答案 1 :(得分:-5)

使用arraylists的size方法获取最大索引:

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

如果元素属于不同类型,则无法比较它们。