gpt4 book ai didi

Java 按功能分组

转载 作者:太空宇宙 更新时间:2023-11-04 14:23:32 26 4
gpt4 key购买 nike

假设我有一个包含以下变量的 Java 类“Academics”:SchoolId、BatchId、SectionID、studentID、SubjectID、Marks、Marks2

然后我有一个此类的列表,其中包含许多值。 (列表)

现在我想通过将其分组为不同列的组合来找到 Marks 和 Marks2 的总和,即我想按以下方式对其进行分组:

  1. 学校 ID + 批处理 ID + 部分 ID
  2. 学校 ID + 批处理 ID + 部门 ID + 学生 ID
  3. 学校 ID + 批处理 ID + 部门 ID + 学生 ID + 主题 ID

这可以通过 SQL 轻松实现,但是 Java 中最好的分组方式是什么?

最佳答案

代码配方

  1. 为您的学术类(class)定义 3 个不同的比较器;每人一份你提到的具体情况。即比较器 SchoolBatchSection仅当它们的 schoolId 时,才会认为 Academics 的两个对象相等,batchId 和sectionId 相等。类似地定义比较器SchoolBatchSectionStudentSchoolBatchSectionStudentSubject

  2. 除了每个列表的原始列表之外,还定义 3 个附加列表您的具体情况,并用每个人的不同值(value)观来填充它们具体的。即 list1 将仅包含您的列表中的不同值原始列表,从眼睛看到的平等SchoolBatchSectionlist2 将包含不同的元素。SchoolBatchSectionStudentlist3 w.r.t.SchoolBatchSectionStudentSubject

  3. 定义 3 个函数(或一个高阶函数,如果您可以通过第一类函数作为其参数)迭代原始函数根据要求的标准列出并总结分数。

  4. 迭代三个列表,对于每个不同的值,调用您定义的合适函数并打印它返回的总和。

关于Java 按功能分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26908428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com