Map<String, Integer> mapa = new HashMap<String,Integer>();
	    mapa.put("Joao",7);
	    mapa.put("Maria",13);
	    mapa.put("Joana",20);
	    System.out.println(mapa.get("Maria"));
Eu quero fazer o contrario da linha do sop. Eu quero colocar 13 e receber Maria.
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          Inverte os elementos, coloca os números como chave e os nomes como valor!
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          mas não há forma de dar o valor e receber a chave??
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          public static void main(String[] args) {
    //criando mapa
    System.out.println(getKeyByValue(mapa, 13));
}
public static <T, E> T getKeyByValue(Map<T, E> map, E value) {
    for (Entry<T, E> entry : map.entrySet()) {
        if (Objects.equals(value, entry.getValue())) {
            return entry.getKey();
        }
    }
    return null;
}
De: https://stackoverflow.com/a/2904266/5937189
         
        
        
           
           
           2 curtidas
         
         
            
            
          
       
      
        
        
          De forma simples assim não, você precisa de uma laço para percorrer o mapa e filtrar a sua busca!