J'ai une liste d'objets en Java, comme ceci.
[
{
"applicationNumber": "100400",
"users": "A",
"category": "student"
},
{
"applicationNumber": "100400",
"users":"B",
"category": "student"
},
{
"applicationNumber": "100400",
"users":"C",
"category": "neighbour"
},
{
"applicationNumber": "100400",
"users": "D",
"category": "neighbour"
},
{
"applicationNumber": "200543",
"users": "C",
"category": "student"
},
{
"applicationNumber": "200543",
"users": "A",
"category": "student"
},
{
"applicationNumber": "200543",
"users":"D",
"category": "friend"
}
]
Je souhaite regrouper les utilisateurs sous forme de liste (l'ordre n'a pas d'importance) pour chaque catégorie et pour chaque numéro d'application. Vous pouvez vous référer au fichier json ci-dessous pour vous faire une idée.
[
{
"applicationNumber": "100400",
"users": [
"A",
"B"
],
"category": "student"
},
{
"applicationNumber": "100400",
"users": [
"C",
"D"
],
"category": "neighbour"
},
{
"applicationNumber": "200543",
"users": [
"C",
"A"
],
"category": "student"
},
{
"applicationNumber": "200543",
"users": [
"D"
],
"category": "friend"
}
]
J'y parviens en utilisant une boucle for, une table de hachage et des conditions if else. Je souhaite utiliser Java 8 stream pour réaliser la même chose. Est-ce que quelqu'un peut m'aider, je suis nouveau en Java.
PS : Merci d'avance