从JAVA哈希集中获取计算结果

时间:2013-10-20 01:16:20

标签: java

我有像这样的java hashset

Java Hashset

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个区域。我怎样才能为每位乘客计算出来?如何使用新的计算值创建新的哈希集?

2 个答案:

答案 0 :(得分:1)

使用对象将使您的生活更轻松。例如,Trip对象可以保存卡号,传输类型,开始时间,完成时间,起始区域,完成区域,区域差异等信息。

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

答案 1 :(得分:0)

您需要按时间对条目进行排序并重播它们以为每个客户构建状态。每次活动都会增加所产生的费用,最后您知道每位客户的费用是多少。

BTW您无法对HashSet进行排序,但可以对数组或ArrayList进行排序。