|
|
|
|
#1 |
|
Роман Долгополов (RDOL)
|
Нечего тут голову ломать
1. Если ключи не пересекаются - так и сохраняйте сразу в одном. Например, передавайте ссылку на мап через параметр в метод, добавляющий в них элементы вместо складывания результирующих мапов. Вот час назад писал как раз такое X++: private Map calcJournalLines(mInventRejectJournalTable _journalTable, InventTable _inventTable, mProgressBarNoTotals _bar) { Map journalLines = new Map(Types::String, Types::Container); ; this.calcInventTrans(_journalTable, _inventTable, _bar, journalLines); this.calcInventSettlements(_journalTable, _inventTable, _bar, journalLines); return journalLines; } 2. Очевидный и правильный путь - обойти один мап и вставить во второй 3. Трюк с перепаковкой и сложение контейнеров то-же возможен, но это именно трюк. Сложного, как мне помнится, там ничего нет - кроме самих данных там будет еще заголовок из, боюсь соврать, трех элементов. На форуме была тема со структурой упакованных мапов, сетов и т.д. 4. А может вам и не мап нужен? У всех способов очевидные достоинства и недостатки, но если вы по любым причинам склоняетесь к п.3, то скорее всего с алгоритмом что то не то и стоит об этом серьезно подумать Последний раз редактировалось db; 23.10.2013 в 18:39. Причина: Добавил пример |
|
|
|
|
#2 |
|
Участник
|
У map-ов есть есть keyset() и valueset(), а они умеют так:
- set intersection (set1, set2) - возвращает пересечение двух указанных множеств, то есть множество, содержащее элементы, найденные в обоих множествах. - set union (set1, set2) - возвращает объединение двух указанных множеств, то есть множество содержит значения из обоих множеств. - set difference (set1, set2) - возвращает множество, содержащее значения множества set1, не найденные в множестве set2. © Шашков Р., Еременко А. |
|
|
|
|
#3 |
|
Роман Долгополов (RDOL)
|
|
|
|
|
|
#4 |
|
Участник
|
Может и не нужен. Сейчас подумаю, как алгоритм поменять. Использовал мапы так как нужен уникальный идентификатор, вернее связка 2-х полей для идентификации данных в результирующем наборе данных. А если есть такой же ключ - производить сумму количеств из полей...другого, более изящного решения не придумал.
Последний раз редактировалось user_ax; 24.10.2013 в 09:47. |
|
|