import java.util.*; public class Empresa { private String nome; // Contém o nome da empresa private HashMap stock; // O HashMap stock associa a cada produto a sua ficha de info*/ // A ficha do produto está na classe Produto*/ public Empresa(String nome){ this.nome=nome; stock=new HashMap(); } // Representação do stock da empresa public boolean insere (Produto p){ if (stock.containsKey(p.getCodigo())) return false; stock.put(p.getCodigo(), p); return true; } // Metodo que insere um novo produto no stock da empresa // Verifica antes se o produto já existe ou não // Só o insere se não existir public boolean remove (String codigo){ if (stock.containsKey(codigo)){ stock.remove(codigo); return true; } return false; } // Método que remove do stock determinado produto associado ao codigo public void altera_stock(String codigo, int quant){ Produto p=stock.get(codigo); p.setQuant(p.getQuant()+quant); } //Metodo que altera a quantidade de um produto em stock de um valor dado //APARTIR DAQUI DUVIDA PARA O PROF //1ª forma de ver o stock. Pedir os values à HashMap public int quant_em_stock(){ int np=0; for(Produto p:stock.values()){ np+=p.getQuant(); } return np; } //2ª forma de pedir os stocks. Pedir os produtos que correspondem às chaves da HashMap public int quant_em_stock2(){ int np=0; for(String s:stock.keySet()){ Produto p=stock.get(s); np+=p.getQuant(); } return np; } //3ª forma de pedir os stocks: pedir array (par de valores) public int quant_em_stock3(){ int np=0; Iterator>e=null; for (e = stock.entrySet().iterator();e.hasNext(); ) { Map.Entry ent=e.next(); Produto p=ent.getValue(); np+=p.getQuant(); } return np; } }