Как объединить / обновить два списка <Map>в один - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть 2 списка:

        List<Map<String, String>> data1 = new ArrayList<>();
         Map<String, String> m1 = new HashMap(){};
         m1.put("key1","value1")
         Map<String, String> m2 = new HashMap(){};
         m2.put("key2","value2")
        data1.add(m1)
        data1.add(m2)

        List<Map<String, String>> data2 = new ArrayList<>();
         Map<String, String> m22 = new HashMap(){};
         m22.put("key2","chavgedValues2")
        data2.add(m1)
        data2.add(m22)

После объединения я хочу получить список, который будет содержать:

"key1","value1"
"key2","chavgedValues2" 

Как лучше всего объединить эти два списка в один? Как я могу реализовать итераторы и так далее, но я думаю, что должен быть более простой вариант, например поток. Также должно быть условие, что если Entry.Key из data1 равен Entry.Key из data2, то взять только карту из данных 2. Что-то вроде SQL joiner.

1 Ответ

0 голосов
/ 09 ноября 2018
data1.addAll(data2);

Это будет самый простой способ, но тогда вы не сможете выполнить условную проверку, если один и тот же Ключ существует на двух или более картах.

Так что я бы сделал это вручную с помощью итераторов и циклов. Я не могу видеть, что функция потока облегчила бы это.

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