Posso fazer um array onde o índice seria uma string , tipo como acontece em php?
Olá,
Em Java você pode ter algo semelhante, mas não com arrays. Experimente usar a classe java.util.Map. Quando você cria um map, você pode associar uma chave (que pode ser de qualquer tipo) a um valor (que também pode ser de qualquer tipo) e depois buscar o valor associado à determinada chave. Por exemplo:
//cria um map, onde chaves são do tipo String e valores são do tipo Integer
Map<String, Integer> map = new HashMap<String, Integer>();
//coloca dados no map
map.put("s1", 1);
map.put("s2", 2);
map.put("s3", 3);
//obtém o valor associado à chave "s2"
Integer i = map.get("s1");
Fazendo dessa forma é possível obter o comportamento desejado. A única diferença é que o acesso não é do tipo map[“s2”], mas continua sendo um acesso indexado.
Abraço!
paulo.marcelo n sei se entendi, mas existe o map que faz associação de chave/valor
por exemplo:
HashMap teste = new HashMap();
teste.put("chave", value.get(valor));
espero ter ajudado! :lol:
Vlwsssss
Um Map faz o mesmo trabalho a diferença é a sintaxe, vc não faz variavel[“chave”] e sim variavel.get(“chave”);
Com a vantagem de poder utilizar qualquer objeto como chave (não apenas strings) e vc pode escolher se vc quer utilizar uma HashTable, HashMap, TreeMap, LinkedHashMap… cada um possui uma particularidade que pode ser melhor para o problema que vc quer (algumas a leitura é mais rapida que a escrita – ideal para cache de objetos).
HashMap - tabela de índice calculado, ou tabela hash
HashTable - uma versão mais antiga do HashMap; evite seu uso em programas novos
LinkedHashMap - uma versão do HashMap que permite que você percorra a tabela pegando os elementos por ordem de inserção, ou por ordem de acesso.
TreeMap - uma tabela ordenada pela chave.
Eu normalmente costumo usar TreeMap em meus programas porque preciso percorrer ordenadamente as chaves, ou então LinkedHashMap. Dificilmente eu uso um HashMap puro; normalmente o ganho de desempenho não compensa a perda de funcionalidade. (Além disso odeio redefinir hashCode e equals , mesmo tendo as ferramentas na própria IDE - Eclipse ou NetBeans.)
É que um HashMap “bagunça” os valores que são inseridos nele, o que pode ser meio confuso para depuração de programas, ou para explicar o que o programa faz para as outras pessoas que o usam.