Как сравнить два разных типа списка массивов в Android? - PullRequest
0 голосов
/ 14 февраля 2012

Я хочу сравнить два разных типа списка массивов, т.е.

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

Итак, я хочу сравнить list1 и list2 и получить количество индексов, при которых оба одинаковы?

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Итак, я хочу сравнить list1 и list2 и получить количество индексов, при которых оба одинаковы?

(Я не знаю, какие у вас типы для A и B, но я просто предположу, что имеет смысл сравнивать их, используя 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 голосов
/ 14 февраля 2012

Используйте метод size для массивов, чтобы получить максимальные индексы:

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

If elementsбывают разных типов, их нельзя сравнивать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...