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