-2

我有这样的java hashset

Java 哈希集

7327896542976267 B ON 17 1381960719243
4116229919133022 B ON 7 1381960779618
2467710535609327 T OFF 5 1381960865253
7327896542976267 B OFF 16 1381961008020
7690519232957130 T ON 1 1381961124863
7690519232957130 T OFF 1 1381961364863
4144171091392103 F ON 1 1381961433257
2332355946816642 B ON 2 1381961601782
4270931484327447 B ON 10 1381961881239
6048000070479064 B ON 3 1381961959977
4270931484327447 B OFF 10 1381962121239
6056389598100654 T ON 13 1381962380866
5270503505599671 B ON 8 1381962381419
6048000070479064 B OFF 2 1381962588710
6056389598100654 T OFF 13 1381962620866
3873532220632004 T ON 1 1381962807491
3873532220632004 T OFF 1 1381963047491
3495435380122245 B ON 10 1381963314807
3495435380122245 B OFF 10 1381963554807 ................

解释 -

这是关于公共交通系统的乘客旅行的信息,

3495435380122245(卡号) B(交通工具) ON(开始旅行) 10(旅行区) 1381963314807(时间)

3495435380122245(卡号)B(交通工具型)OFF(旅行结束)15(旅行区)1381963314807(时间)

问题

这个哈希集对每个乘客卡号都有多个条目,

例如,在上面的解释中,人旅行了 5 个区域。我如何为每位乘客计算这个?以及如何使用新的计算值创建新的哈希集?

4

2 回答 2

1

使用对象将使您的生活更轻松。例如,一个Trip对象可以保存卡号、运输类型、开始时间、结束时间、开始区域、结束区域、区域差异等信息。

将需要一次传递到您的哈希集以创建此类Trip对象的另一个集合。Trip如果您想稍后使用卡号搜索行程,此集合可以是地图(以卡号作为键和值)。

于 2013-10-20T01:29:34.530 回答
0

您需要按时间对条目进行排序并重放它们以建立每个客户的状态。对于每个事件,您都会添加所产生的任何费用,最后您会知道每个客户的费用是多少。

顺便说一句,您不能对 HashSet 进行排序,但可以对数组或 ArrayList 进行排序。

于 2013-10-20T01:23:42.923 回答