Java HashMap的大小
如何获得下面示例中的时间窗口数?目前它说有2个时间窗口,尽管有3个时间窗口,每个时间窗口由打开和关闭时间定义Java HashMap的大小,java,map,hashmap,Java,Map,Hashmap,如何获得下面示例中的时间窗口数?目前它说有2个时间窗口,尽管有3个时间窗口,每个时间窗口由打开和关闭时间定义 Map<String, String> _timeWindows = new HashMap<String, String>(); _timeWindows.put("open", "123"); _timeWindows.put("close", "124"); _timeWindows.put("open", "523");
Map<String, String> _timeWindows = new HashMap<String, String>();
_timeWindows.put("open", "123");
_timeWindows.put("close", "124");
_timeWindows.put("open", "523");
_timeWindows.put("close", "524");
_timeWindows.put("open", "823");
_timeWindows.put("close", "824");
System.out.println(_timeWindows.size());
Map\u timeWindows=newhashmap();
_时间窗口。放置(“打开”、“123”);
_时间窗口。放置(“关闭”、“124”);
_时间窗口。放置(“打开”、“523”);
_时间窗口。放置(“关闭”,“524”);
_时间窗口。放置(“打开”、“823”);
_时间窗口。放置(“关闭”、“824”);
System.out.println(_timeWindows.size());
键在HashMap中是唯一的。它将仅具有以下值:
_timeWindows.put("open", "823");
_timeWindows.put("close", "824");
所有地图中的关键点都是唯一的 如果要使用同一个键添加多个值。使用
输出:
timeWindows:{open=[123523823],close=[124524824]}
哈希映射包含唯一键。因此,当插入一个已经存在的新键时,它会覆盖其对应的值。因此,您的地图当前只有2个键值对
根据您的问题,我想您需要一个窗口
类,类型为enum
,值为String:
class Window {
private String value;
private WindowType type;
enum WindowType {
OPEN, CLOSED;
}
// constructor, getters.
}
然后根据您的要求维护一个集合
或列表
如果您的值表示时间,那么您应该真正将其存储为时间,而不是字符串。我建议使用,因为在
Map
中键是唯一的,当您多次输入“打开”和“关闭”时,它只验证旧值,并保持相同的键
。因此,正确地说,它只有两个元素具有键
:“打开”、“关闭”。,因为映射键就像一个集合。它不允许重复的valuesHow将MultiMap导入到类中?它是第三方jar。下载它
class Window {
private String value;
private WindowType type;
enum WindowType {
OPEN, CLOSED;
}
// constructor, getters.
}