我有像这样的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个区域。我怎样才能为每位乘客计算出来?如何使用新的计算值创建新的哈希集?
答案 0 :(得分:1)
使用对象将使您的生活更轻松。例如,Trip
对象可以保存卡号,传输类型,开始时间,完成时间,起始区域,完成区域,区域差异等信息。
您的哈希集需要一次传递才能创建此类Trip
个对象的另一个集合。如果您想稍后使用卡号搜索旅行,则此集合可以是地图(卡号为键,Trip
为值)。
答案 1 :(得分:0)
您需要按时间对条目进行排序并重播它们以为每个客户构建状态。每次活动都会增加所产生的费用,最后您知道每位客户的费用是多少。
BTW您无法对HashSet进行排序,但可以对数组或ArrayList进行排序。