【发布时间】:2021-02-27 19:57:27
【问题描述】:
我有两个列表,我想知道如何在 Java 中合并它们,但是通过相等项目的分组、属性的媒体以及根据 id 从新列表中添加项目
我的清单
List<NotasMateria> notasMaterias = repository.findAll(Sort.by("dataNota").descending());
List<Materia> materias = materiaRepository.findAll();
你现在好吗
列表1
{
"idMateria": 9,
"idUsuario": 7,
"materia": "PT",
},
{
"idMateria": 7,
"idUsuario": 7,
"materia": "IN"
},
{
"idMateria": 4,
"idUsuario": 7,
"materia": "YU"
}
列表2
{
"idNotaMateria": 5,
"idMateria": 7,
"idUsuario": 7,
"notaMateria": 8.0,
"tipoNota": "winx"
},
{
"idNotaMateria": 2,
"idMateria": 11,
"idUsuario": 7,
"notaMateria": 2.0,
"tipoNota": "winx"
},
{
"idNotaMateria": 4,
"idMateria": 11,
"idUsuario": 7,
"notaMateria": 2.0,
"tipoNota": "Net"
}
结果
{
"idNotaMateria": 2,
"idMateria": 11,
"idUsuario": 7,
"notaMateria": 5.0, (avarege with notaMateria)
"tipoNota": "winx", (gruoping to tipoNota)
"materia": "IN" (add camp condition list2.idMateria =list1.idMateria)
},
{
"idNotaMateria": 4,
"idMateria": 7,
"idUsuario": 7,
"notaMateria": 2.0, (avarege with notaMateria)
"tipoNota":"Net", (gruoping to tipoNota)
"materia": "PT" (add camp condition list2.idMateria =list1.idMateria)
}
【问题讨论】:
-
不清楚您要完成什么。
-
我需要获取两个列表进行合并,将一个列表中的项目添加到另一个列表中,并执行列表值的算术媒体
标签: java lambda java-stream