Я имею дело со сложной логикой, которую я не могу понять правильно.Я пытаюсь уменьшить список, содержащий список свойств, в один объединенный объект, удаляя дубликаты keys .
Скажем, у меня есть класс Config
со следующими элементами:
private int index;
private String name;
private Map<String, String> properties;
Этот объект будет в связанном списке объектов, List<Config>
.Если объект Config
в индексе 5 имеет ключ / значение в properties
для "version = 2", но объект Config
в индексе 1 имеет properties
, который содержит "version = 1", мне нужно свойствов индексе 5, чтобы выиграть.Итак, я хочу один последний Config
(позже я буду беспокоиться об элементе name
), который имеет объединенные свойства, которые отражают последние свойства в потоке.
Я требую слишком много в одной операции?До сих пор я придумал что-то подобное, но оно не компилируется:
configList.stream()
.map(it -> it.getProperties())
.collect(Collectors.toCollection(() ->
new TreeSet<>(Comparator.comparing(???))))
Любая помощь приветствуется!