问题描述
我有对象清单。 对象具有字段:名称,姓氏和时间(长)。 我想检查一下这个列表中有多少个项目具有相同的小时数。 我将long转换为HH:mm,现在我需要知道例如多少个项目的时间为0,多少时间的时间为1等。
hours - number of elements
0 - 10
1 - 2
2 - 4
...
23 - 13
etc until get all day hours.
任何想法我怎么能简单地实现这个想法
1楼
ArrayList<Person> people;
int[] count = new int[24];
for(Person p : people) {
count[hourOf(p.time)]++;
}
不确定如何存储时间(即长整数表示什么),但是如果您将HH:mm
作为String
,则可以轻松计算小时:
int hourOf(String hhmm) {
return Integer.parseInt(hhmm.substring(0, hhmm.indexOf(':')));
}
如果将所有小时数填充为0
,则hhmm.indexOf(':')
可以替换为2
。