如何检测时间戳是否位于其他两个时间戳之间?

Fis*_*ian 0 java

我有一个看起来或多或少像这样的HashMap:

private HashMap<String, String> fu = new HashMap<String, String>();

fu.put("16:04:00.476", "A");
fu.put("16:09:58.228", "B");
fu.put("16:17:58.227", "C");
fu.put("16:22:42.478", "D");
fu.put("16:27:23.728", "E");
fu.put("16:38:34.977", "F");
fu.put("16:46:46.227", "G");
Run Code Online (Sandbox Code Playgroud)

现在我有另一个时间戳,名为bar,我想找到合适的字母:

private String findLetter(String timestamp) {
   return "";
}
Run Code Online (Sandbox Code Playgroud)

HashMap中的时间戳可以视为开始时间.这意味着,A从16:04:00.476开始并持续到B开始.B持续到C开始,依此类推.现在,此方法应返回作为参数传递的时间戳所在的字母.

我做的第一件事是将时间戳转换为日期对象以使用Date#after方法来查看它是否在某个开始时间之后,但我怎样才能确保它也在下一个开始时间之前?

Thi*_*rry 6

HashMap没有排序,所以首先应该使用TreeMap.然后查看下一个条目,检查它是否在您当前的时间戳之后