【问题标题】:HashMap containing enums包含枚举的 HashMap
【发布时间】:2017-04-04 03:29:26
【问题描述】:

抱歉,Java 新手,实际上是在 jython 中编码,但我认为 java 语法应该可以工作。

我有一个如下所示的哈希图:

Hashmap = {21035179={WEIGHT=1}, 2300={WEIGHT=0}, 21035180={EMA_FIRST=1000.11615393169158, EMA_SECOND=966.8684105279658}}

这些值是枚举类型,不知道这会如何改变事情,因为我对那个类型不太熟悉。

我想得到2300的权重,我想这个的语法是:

Count = 2300
Hashmap.get(Count).get(enum.WEIGHT) 

但这不起作用,我得到一个 None 类型。

我在这里做错了什么?

【问题讨论】:

标签: java enums hashmap jython


【解决方案1】:

回答java,你的结构好像是Integer -> enum -> double。这将在 Java 中表示为:

public enum Field {
    WEIGHT, EMA_FIRST, EMA_SECOND;
}
Map<Integer, Map<Field, Double>> myMap

因为您使用enum 作为键,所以您应该将值创建为EnumMap

myMap.put(2300, new EnumMap(Field.class));
myMap.get(2300).put(Field.WEIGHT, 34.7);

得到 2300 的权重将是 myMap.get(2300).get(Field.WEIGHT)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-26
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多