Collection

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?