Как объединить все элементы из вложенной коллекции Java в один список?

Дана сложная вложенная коллекция объектов, таких как:

Set<List<Map<String, List<Object>>>> complexNestedCollection;

Существует ли универсальный метод, чтобы сгладить это и получить единыйList из всехObjectсодержится внутри?

Несколько деталей:

Список не должен включать сами объекты коллекции или ключи карты - только значения на самом низком уровне.Он должен следовать тому же порядку, где это возможно - поэтому в этом примере элементы в списке будут в порядке, тогда как порядок карт / наборов будет зависеть от реализации.При желании можно исключить дубликатыОБНОВИТЬ: В идеале он должен обнаруживать / обрабатывать циклические ссылки на любом уровне, например,List<List<Object>> где внешний список содержит себя в качестве члена. (Благодарим Адриана Ялошевского за упоминание об этом в комментариях ниже).

Примечание. Фактический вариант использования - получить все строки изList<List<String>>, что можно сделать достаточно легко с помощью двух циклов, но это заставило меня задуматься об общем случае.

Ответы на вопрос(6)

Ваш ответ на вопрос