Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como eu uso o método SIZE na interface MAP

Exemplo quero saber quantas contas inseri no Map mapaBanco, sem ter que utilizar uma variável que controle a quantidade de contas inseridas.

package exercicio16;

import java.util.HashMap;
import java.util.Map;

public class Banco {
    private Map<String,Conta> mapaBanco = new HashMap<String,Conta>();

    public void adiciona(Conta c) {
        mapaBanco.put(c.getNome(), c);
    }

    public     Conta busca(String nomeConta) {
        return mapaBanco.get(nomeConta);
    }    

}

package exercicio16;

public class TestaBanco {
    public static void main(String[] args) {
        Banco banco = new Banco();

        Conta c1 = new Conta("PEDRO",1000);
        Conta c2 = new Conta("THIAGO",8000);
        Conta c3 = new Conta("JOSE",7000);


        banco.adiciona(c1);
        banco.adiciona(c2);
        banco.adiciona(c3);


        System.out.println("Total de contas adicionada: " + banco.size()); //NAO FUNCIONA

    }
}
2 respostas

Quem tem a quantidade de objetos inseridos no mapa é mapaBanco. Assim, ficaria mapaBanco.size() .

solução!

Como o colega Emerson bem disse, o método size() está presente na classe Map, não na sua classe Banco. Para o código compilar do jeito que o seu método main está, você precisa definir o método size na sua classe Banco:

public int size() {
   return mapaBanco.size();
}