我们必须根据三个输入数据字段查找一些数据.查找必须快速.只有大约20种可能的查找组合.我们使用静态HashMap实例实现了这一点,我们通过连接三个数据字段来创建密钥.有没有更好的方法来做到这一点,或者这是要走的路?代码如下.
更新:我并不是说这段代码很慢.只是好奇是否有更好的方法来做到这一点.我认为可能会有一个更优雅的解决方案,但如果没有令人信服的替代方案,我很乐意保持这一点!
创建类级静态HashMap实例:
private static HashMap map = new HashMap();
Run Code Online (Sandbox Code Playgroud)
我们如何将数据加载到内存中:
private void load(Iterator iterator) {
while (iterator.next()) {
Object o = it.next();
key = o.getField1() + "-" + o.getField2() + "-" o.getField3();
map.put(key, o.getData());
}
}
Run Code Online (Sandbox Code Playgroud)
以及我们如何根据以下三个字段查找数据:
private Stirng getData(String f1, String f2, String f3) {
String key = f1 + "-" + f2 + "-" f3;
return map.get(key);
}
Run Code Online (Sandbox Code Playgroud)