Pergunta

Atualmente, estou implementando um objeto de armazenamento persistente para o meu aplicativo BlackBerry.
Ele contém um vetor de definição de objetos.

Minha implementação atual para obter um valor de configurações específicas se parece com este

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;
}

Existe uma maneira melhor de acessar esse valor do que loop da enumeração?

Obrigado!

Foi útil?

Solução

Um vetor é basicamente apenas uma matriz cultivável, então você precisa pesquisá -lo para encontrar qualquer elemento específico. Você pode garantir que o vetor seja classificado, o que permitiria que você realizasse uma pesquisa binária. Duvido que faria muita diferença aqui, pois parece improvável que você tenha elementos suficientes em seu vetor para justificar o ligeiro aumento no desempenho sobre a complexidade do código.

Parece que você deseja ser capaz de mapear as teclas para valores, no entanto. Nesse caso, a classe java.util.hashtable pode ser melhor:

Hashtable appSettings = new Hashtable();

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

String value1 = (String)appSettings.get("key1");
String value2 = (String)appSettings.get("key2");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top