gpt4 book ai didi

java - 不使用 Map 或 Set 成对排序列表

转载 作者:行者123 更新时间:2023-11-30 02:54:46 25 4
gpt4 key购买 nike

我有一个奇怪的问题,其中三列学生的数据如下,

Student    InitDAte      FinDate
ABC 2/2/2016 5/5/2017
ABC 3/2/2016 3/30/2017
CED 1/1/2015 3/12/2017
LEF 1/12/2016 11/17/2017
CED 1/12/1999 12/23/207
LEF 2/13/2000 11/19/2017

我的目标是找到每个学生的最低 InitDate 和同一学生的最高 FinDate。所有数据都存储为字符串,因此我必须首先使用 DateFormat 解析日期。

最初,我尝试将数据存储为 StudentInitDAte 和其他对 StudentFinDate ,然后我尝试将数据存储在以日期为键的 HashMap 中,但问题是它只会存储唯一的数据,如果两个学生具有相同的初始日期,那么只有其中一个会存储在 HashMap 。

我意识到我无法使用SetMaps来存储数据,因为它只会存储唯一值,所以我决定使用List

我创建了 3 个列表,其中一个为 String 类型,另外两个为 Date 类型,因此我可以存储重复数据。我已将所有学生姓名存储在一个列表中,将日期存储在另外两个列表中。

我现在想要做的是对学生列表进行排序,InitDAteFinDate 也将根据学生进行排序。

有没有办法像 HashMap 一样根据另一个列表对一个列表进行排序?

最佳答案

您是否考虑过使用所需的属性编写自己的学生类,然后将它们存储为学生对象列表?然后,您可以迭代学生对象列表以找到初始日期的最低值,然后再次迭代以找到最高的结束日期,其中学生 ID 等于您找到的第一个学生对象的学生 ID。

关于java - 不使用 Map 或 Set 成对排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37584444/

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