В моем Java-проекте есть два объекта, которые выглядят примерно так:
FavoriteGroup
- int id
- string userId
- string name
- List<Favorite> favorites
и
Favorite
- int id
- int groupId
- string title
- string path
Теперь у меня есть список элементов, которые могут повторятьгрупп.Есть ли у меня способ сгруппировать этот список таким образом, чтобы для каждой группы избранного, в которую я вошел весь список избранных, к которому я присоединился?
Более графическое объяснение: Я:
[{
id: 1,
userId: 1,
name: "Group one",
favorites: [{
id: 100,
groupId: 1,
title: "Favorite 1",
path: "path 1"
}]
},
{
id: 1,
userId: 1,
name: "Group one",
favorites: [{
id: 200,
groupId: 1,
title: "Favorite 2",
path: "path 2"
}]
},
{
id: 2,
userId: 1,
name: "Group two",
favorites: [{
id: 300,
groupId: 2,
title: "Favorite 3",
path: "path 3"
}]
}]
И янужно:
[{
id: 1,
userId: 1,
name: "Group one",
favorites: [{
id: 100,
groupId: 1,
title: "Favorite 1",
path: "path 1"
},
{
id: 200,
groupId: 1,
title: "Favorite 2",
path: "path 2"
}]
},
{
id: 2,
userId: 1,
name: "Group two",
favorites: [{
id: 300,
groupId: 2,
title: "Favorite 3",
path: "path 3"
}]
}]
Какой лучший способ сделать это?использовать для итераций цикла или, возможно, группировать функции потока Java 8?