我想比较两种不同类型的数组列表,即
ArrayList<A> list1 = new ArrayList<A>();
ArrayList<B> list2 = new ArrayList<B>();
所以我想比较list1
和list2
并得到两者相同的索引数?
答案 0 :(得分:1)
所以我想比较list1和list2并得到两者相同的索引数?
(我不知道您对A
和B
有哪些类型,但我只是假设使用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()){ ...... }
如果元素属于不同类型,则无法比较它们。