0

目前我正在为我的黑莓应用程序实现一个持久存储对象。
它包含一个设置对象的向量。

我当前获取特定设置值的实现如下所示

public String getSettingByName(String key)
{
    String value = "";
    for ( Enumeration e = _appSettings.elements(); e.hasMoreElements();)
    {
        if(((AppSettingsObject)e.nextElement()).get_key() == key)
        {
            value = ((AppSettingsObject)e.nextElement()).get_value();
        }
    }
    return value;
}

有没有比循环枚举更好的方法来访问该值?

谢谢!

4

1 回答 1

2

Vector 基本上只是一个可增长的数组,因此您必须搜索它才能找到任何特定元素。您可以确保对向量进行排序,这将允许您执行二进制搜索。我怀疑它在这里会产生很大的不同,因为您的向量中似乎不太可能有足够的元素来证明在代码复杂性方面性能略有提高是合理的。

但是,您似乎希望能够将键映射到值。在这种情况下,java.util.Hashtable 类可能会更好:

Hashtable appSettings = new Hashtable();

appSettings.put("key1", "value1");
appSettings.put("key2", "value2");

String value1 = (String)appSettings.get("key1");
String value2 = (String)appSettings.get("key2");
于 2009-07-11T13:19:42.330 回答