根据Calendar Month键获取HashMap的项目

时间:2016-08-08 19:13:46

标签: java hashmap

我有一个HashMap:

HashMap<Integer, Person> map

密钥实际上是我从Calendar.MONTH获得的月份(int)。这意味着它从0到11,每个月都有一个Person关联类型的对象。

假设我们二月份,我想要做的是过去4个月的所有人,但我找不到办法做到这一点。此外,我们必须假设地图中可能缺少一个月,因此在这种情况下,我会将本月的人视为&#34; 0&#34;或者无效或者其他什么,但我不想&#34;跳过&#34;它

任何人都可以帮我解决这个问题吗?我不知道&#34;正确&#34;实现这一目标的方法。

1 个答案:

答案 0 :(得分:1)

以下是您需要执行的步骤:

  1. 从Calendar实例获取当前月份。月份是0到11。

  2. 创建一个循环4次的for循环

  3. 在循环中,从Map获取当月的Person。将人员添加到列表中。

  4. 在循环中,从当前月份减去一个月。如果当前月份小于零,则将当前月份添加12。

  5. 您的列表将包含4个Person对象,如果这是Map返回的内容,则为null。