将案例类作为Scala中的密钥的高效映射?
以下C代码使用枚举和数组作为从枚举到任何内容的有效“映射”:
enum Color { ColorRed, ColorGreen, ColorBlue, ColorSize};
void f() {
int x[ColorSize];
x[ColorRed] = 12;
x[ColorGreen] = 33;
x[ColorBlue] = 4;
return x[ColorGreen];
}
这与Scala有可能吗?
即从case类到某个东西的“map”,实现为高效数组而不是树或hashmap。然而,我希望能够仅使用不使用Int的特定类型进行索引。
更新:简而言之,我想让某些枚举(案例类或枚举)索引Scala数组。
没有找到相关结果
已邀请:
3 个回复
曝匿弄罚
但是,我怀疑这会被认为是好的风格,特别是因为它不安全。使用地图是一种更好的方法,或者您可以将数组包装在处理Color indizes的专用数据结构中:
摊揉售
联海
它与C& C中的方法同样不安全。同样高效。然而,这是非常不安全的。