J2me obtenha objeto específico do vetor
-
12-09-2019 - |
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!
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");