假设我有一个类似这样的哈希映射
Map map = new HashMap();
map.put(key, p.getText());
然后得到一个值,我应该这样做:
map.get("key_value");
有没有办法获得这样的值:
map.key_value;
加快申请速度?
答案 0 :(得分:2)
这不是Map
的工作方式。在Java中使用成员运算符(.
)进行引用意味着您正在访问变量的公共成员,并且密钥不会存储为映射的公共成员。
答案 1 :(得分:2)
如果预先知道了所有密钥,则可以扩展HashMap并为每个密钥添加自定义getter方法,以便它可以按您的需要工作。但这不会加快程序的执行速度。所有这些都可以为您带来便利。
例如:
public class MyCustomHashMap extends HashMap
{
public Object key_value()
{
return this.get("key_value");
}
}
答案 2 :(得分:1)
您可以使用values Collection
煽动某事吗?您可以获得对象的更原始的表示,但您仍在使用HashMap
等。
但我怀疑它会帮助你加速你的应用程序,因为它听起来像一个微不足道的微观改进。
无论如何,如果HashMap
真的是你的瓶颈,也许你想用别的东西?