Faço um select e trago o codigo e a equipe de todos cadastrados e coloco no
HashMap, como que busco no hashMap, somente os codigos que a equipe seja igual a um número.
HashMap<String, String> matEquipeAtd = new HashMap<String, String>()
Faço um select e trago o codigo e a equipe de todos cadastrados e coloco no
HashMap, como que busco no hashMap, somente os codigos que a equipe seja igual a um número.
HashMap<String, String> matEquipeAtd = new HashMap<String, String>()
Cara não entendi muito bem, mas vejamos…
Se teu HashMap eh é de código por equipe, etnão a chave dele é o código de uma equipe e o valor é a equipe neh isso?
Se assim for vc obtém uma equipe com um determinado código chamando o método get(codigo) passando o código dessa equipe, com isso vc terá como retorno a sua equipe.
É isso? Senão explica melhor.
[]´s
O meu HashMap tem o codigo da matricula e o codigo da equipe , eu quero por exemplo todos
os codigos de matricula que fazem parte de do codigo 192 por exemplo.
no caso como vc está usando uma string ela por padrao ja implementa o hashCode e equals… entao vc precisa testar apenas se o codigo é igual ao numero tipo:
cod.equals("2020");
:!:
Kra, o HashMap só permite uma única entrada com a mesma chave. Se sua chave é a matricula então vc n vai ter como ter mais de uma equipe com a mesma chave.
Você teria que implementar um hashmap próprio com um comportamento (método) diferente que atenda as suas necessidades. HashMap é algo mais simples, você pede o valor de uma chave e só. Se você quer obter valores baseado em um atributo que se encontra dentro dos valores do seu hashmap, o único jeito é implementando esse função nele. Pelo menos é o que eu acho.
Outra saída é vc iterar sobre o conjuntode chaves do seu mapa, alguma coisa mais ou menos assim:
Map<String, Equipe> map = new HashMap<String, Equipe>();
for (String codigo : map.keySet()) {
Equipe equipe = map.get(codigo);
//Isso vai te permitir iterar sobre todos os objetos equipe
//que estão no mapa e verificar qualquer atributo deles
}
Mas estou achando estranho vc falar em atributos da sua equipe, quando seu mapa é de string por string, emntão sua equipe n tem uma entidade própria, e é apenas denotada por uma string. explica isso melhor kra, tá meio confuso.
É, está confuso mesmo. Tenta explicar melhor o seu problema rogsousap.
[code]import java.util.*;
public class A{
public static void main(String []x){
HashMap<String, String> matEquipeAtd = new HashMap<String,String>() ;
matEquipeAtd.put(“mat01”,“cod01”);
matEquipeAtd.put(“mat02”,“cod02”);
matEquipeAtd.put(“mat03”,“cod01”);
matEquipeAtd.put(“mat04”,“cod02”);
List<String> matCod02 = new ArrayList<String>();
// vamos pegar as matriculas que tem cod02
for(String a : matEquipeAtd.keySet()){
if (matEquipeAtd.get(a).equals("cod02"))
matCod02.add(a);
}
System.out.println("lista das matriculas c/ codigo cod02");
for(String a : matCod02){
System.out.println(a);
}
}
}[/code]
resultado:
lista das matriculas c/ codigo cod02
mat02
mat04
Seria mais ou menos isso?