GroupingBy в потоках Java 8 с более чем тремя уровнями группировкиJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 GroupingBy в потоках Java 8 с более чем тремя уровнями группировки

Сообщение Anonymous »


Мне нужно сгенерировать выходной json, как показано ниже

{ "счет":{ "Альфа":{ "СТАРЫЙ":{ "long":"zerozerooneO", "короткий":"001O" }, "НОВЫЙ":{ "long":"zerozerooneN", "короткий":"001N" } }, "Бета":{ "СТАРЫЙ":{ "long":"zerozerooneO", "короткий":"001O" }, "НОВЫЙ":{ "long":"zerozerooneN", "короткий":"001N" } } } } Из списка объектов с примером ниже

[ { "codetype":"Альфа", "shortOldCode":"001O", "longOldCode":"zerozerooneO", "shortNewCode":"001N", "longNewCode":"zerozerooneN" }, { "codetype":"Бета", "shortOldCode":"001O", "longOldCode":"zerozerooneO", "shortNewCode":"001N", "longNewCode":"zerozerooneN" } ] Я пробовал что-то подобное

Map newList = new HashMap(); новыйСписок = dataMap.stream() .filter(distinctByKey(код -> code.getCodeType())).collect( groupingBy((GetCodeTypes a) -> "учетная запись", groupingBy((GetCodeTypes b) -> b.getCodeType(), groupingBy((GetCodeTypes c) -> "СТАРЫЙ", отображение( v -> { GetCodeTypesResponse.Old oldCode = новый GetCodeTypesResponse.Old(); oldCode.setLongs(v.getLongOldCode()); oldCode.setShorts(v.getShortOldCode()); вернуть старый код; }, к списку()))))); Надеюсь, что кто-нибудь сможет указать мне правильное направление, чтобы получить желаемый результат с использованием хеш-карты в Java 8. Я знаю, что группировка/сопоставление с помощью записи может работать с новой версией Java, но проект, над которым я работаю, - это Java 1.8, и я бы это сделал. хотелось бы использовать Java Streams для решения этой проблемы, если это возможно.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»