2012-04-12 7 views
1

У меня есть два одинаковых списка массивов в java, каждый из которых имеет строковое значение и целочисленное число. Теперь я должен объединить эти списки массивов в один, в котором, если значение присутствует, я просто увеличиваю счет, если значение отсутствует, я просто добавлю значение и счет как таковой.Объединить два ArrayList в java

Вопрос в том, есть ли в любом случае я могу сделать это любезно, кроме итерации в цикле for и проверке каждого значения?

+1

Не могли бы вы дать несколько примеров пар ввода/вывода? ваш вопрос немного расплывчатый, и это может немного его устранить. – mfrankli

+0

Используйте метод Collection.addAll. – adatapost

+0

Карта может быть полезна в такой задаче. –

ответ

3

Вы не можете, существует слишком много пользовательской логики. Итерация, проверка и добавление - это лучший подход и будет более читабельным.

Технически вы можете использовать Multiset от guava, но там рассчитывается сама коллекция, а не вы, поэтому для этого может потребоваться еще одна работа.

1

Вопрос в том, есть ли в любом случае я могу сделать это любезно, кроме , итерации в цикле for и при проверке каждого значения?

Короткий ответ нет.

Было бы лучше использовать HashMap в качестве контейнера, по крайней мере операция слияния будет работать быстрее. В любом случае вам нужна петля. (так как нет addAll/putAll, который мог бы обновить ваши счета).

Смежные вопросы