当前位置: 代码迷 >> Android >> 按时间在列表中搜索元素数
  详细解决方案

按时间在列表中搜索元素数

热度:17   发布时间:2023-08-04 10:05:02.0

我有对象清单。 对象具有字段:名称,姓氏和时间(长)。 我想检查一下这个列表中有多少个项目具有相同的小时数。 我将long转换为HH:mm,现在我需要知道例如多少个项目的时间为0,多少时间的时间为1等。

hours - number of elements
0     - 10
1     - 2
2     - 4
...
23    - 13
etc until get all day hours.

任何想法我怎么能简单地实现这个想法

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

  相关解决方案