Есть две сущности:
class GiftCertificate {
Long id;
String name;
List<Tag> tags;
}
class Tag{
Long id;
String name;
}
Есть список
List<GiftCertificate>
который содержит,например, такие данные:
<1, "One", [1, "Tag1"]>, <2, "Two", null>, <1, "One", [2, "Tag2]>. (То есть не содержит как таковой set Тэгов, а только один тэг или вовсе не имеет его).
Нужно сделать так, чтобы в итоге было вот это:
<1, "One", {[1, "Tag1"], [2, "Tag2"]}>, <2, "Two", null>. Т.е. добавить в set первого объекта Tag из третьеого и при этом удалить 3-ий. Хотелось бы получить хоть какие-то идеи как это сделать.
На kotlin можно так, если rawData это List<RawGiftCertificate>, где RawGiftCertificate это data class RawGiftCertificate(val id: Int, val name: String, val tag: Tag):
val data: List<GiftCertificate> = rawData
.groupBy { it.id } //Map<Int, List<RawGiftCertificate>>
.map { GiftCertificate(it.key, it.value.first().name, it.value.map { it.tag }) }
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости