Código da aula
JSON.parse(xhr.responseText)
.map(dado => new Negociacao(new Date(objeto.data), objeto.quantidade, objeto.valor)
.forEach(negociacao => this._listaNegociacoes.adiciona(negociacao));
Analisando esse código reparei que ele ira percorrer a lista criando os objetos de negociação e em seguida irá percorrer novamente a nova lista gerada pelo map para adicionar os objetos na listaNegociacoes. Ou seja ele vai percorrer a lista inteira duas vezes para inseri-la na estrutura de dados. Compreendo que o Flávio implementou dessa forma por questões didáticas mostrando o uso do map. Mas em uma aplicação real onde temos milhares de negociações por exemplo. A implementação do Flavio seria mais custosa em relação a implementação que fiz abaixo?
listaImportada.forEach(negociacao => {
this.listaNegociacoes.addItem(new Negociacao(
new Date(negociacao.data),
negociacao.quantidade,
negociacao.valor));
});