Estou criando um programa aonde irei precisar armazenar um par de valores ou seja… <x,1> queria saber uma estrutura legal que faça pesquisa rápida… E se possível um exemplo bem simples pra entendimento!
Obrigado!
Estou criando um programa aonde irei precisar armazenar um par de valores ou seja… <x,1> queria saber uma estrutura legal que faça pesquisa rápida… E se possível um exemplo bem simples pra entendimento!
Obrigado!
Use HashMap!
hamilton me da um exemplo de como se grava dois valores com hashmap?
valeu!
Neste caso não se encaixa array bidimenseonal???
Para pesquisa o HashMap tem melhor desempenho, pelo menos desde que o método hashCode() da classe dos objetos armazenados no HashMap esteja corretamente implementado.
Para pesquisa o HashMap tem melhor desempenho, pelo menos desde que o método hashCode() da classe dos objetos armazenados no HashMap esteja corretamente implementado.
eu queria umas dicas! pra gavar um par de valores saca… pois com um valor eu ja fiz!
valeu!
Use HashMap!hamilton me da um exemplo de como se grava dois valores com hashmap?
valeu!
import java.util.HashMap;
import java.util.Map;
public class TestMap {
public static void main(String[] args) {
Map< String, Object> map = new HashMap<String, Object>();
// chaves
String key_1 = "key_1";
String key_2 = "key_2";
// objetos
Object obj_1 = new Object();
Object obj_2 = new Object();
// add no mapa
map.put(key_1, obj_1);
map.put(key_2, obj_2);
// recuperando do mapa
System.out.println( map.get(key_1));
System.out.println( map.get(key_2));
}
}
Para pesquisa o HashMap tem melhor desempenho, pelo menos desde que o método hashCode() da classe dos objetos armazenados no HashMap esteja corretamente implementado.
eu queria umas dicas! pra gavar um par de valores saca… pois com um valor eu ja fiz!
valeu!
public class BlaBla {
private int valor1;
private int valor2;
public BlaBla(int valor1, int valor2) {
this.valor1 = valor1;
this.valor2 = valor2;
}
//getters e setters
public int hashCode() {
//...
}
}
Pesquise sobre como fazer a implementação do hashCode da maneira correta
Crie um HashMap que guarde elementos dessa sua classe
Map mapa = new HashMap<Integer, BlaBla>();
BlaBla blabla = new BlaBla(2, 4);
BlaBla bleble = new BlaBla(5, 10);
mapa.put(blabla.hashCode(), blabla);
mapa.put(bleble.hashCode(), bleble);
Cassio matou a pau cara! Deu certinho!
Agora outra dúvida…
Eu tenho um classe interpretador que possui meu map com os valores associados!
só que tenho uma classe ComandoRead que precisa acessar os valores que estão no map… Só que como ela é uma classe que herda da superclasse Comando que tem um metodo abstrato executa(); e utilizo ele pra rodar os comandos e assim deixar meu programa mais generico possivel…
pois concorda que quando usar o polimorfismo armezanndo os elementos das classes que herdam de Comando e invocando o metodo executa ele irá executar o da subclasse correto??
agora queria saber como irei passar esses valores pra minha classe sem modificar e perder essa generalização que consegui…
Cassio matou a pau cara! Deu certinho!Agora outra dúvida…
Eu tenho um classe interpretador que possui meu map com os valores associados!
só que tenho uma classe ComandoRead que precisa acessar os valores que estão no map… Só que como ela é uma classe que herda da superclasse Comando que tem um metodo abstrato executa(); e utilizo ele pra rodar os comandos e assim deixar meu programa mais generico possivel…
pois concorda que quando usar o polimorfismo armezanndo os elementos das classes que herdam de Comando e invocando o metodo executa ele irá executar o da subclasse correto??
agora queria saber como irei passar esses valores pra minha classe sem modificar e perder essa generalização que consegui…
Não sei se entendi direito o que você quis dizer, mas se a classe Comando possui o método abstrato executa(), cada classe que herda de Comando terá sua própria implementação deste método.
Coloca o código resumido dessas suas classes ai… não entendi quem recebe os valores…