2
respostas

Duvida

Estou com uma duvida aqui, que testei no meu código e rodaram normalmente dos 2 jeitos, quero saber a grande diferença apenas, um código é esse

public void adicionaCliente(Cliente cliente){
clientes.add(cliente);
}

e o outro código é

public void adicionaCliente(Collection<Cliente> cliente){
clientes.addAll(cliente);
}

Qual a diferença? eu sei que no ultimo vc esta passando uma Collection de Cliente, e esta add todos os cliente, que ta passando. por favor me expliquem passo a passo :(

2 respostas

Basicamente é exatamente o que você falou. O primeiro caso o add você passa um object e ele adiciona a lista, No outo casso o __addAll vai juntar as duas coleções pegando os elementos da segunda coleções e adicionando a primeira coleção. A principal diferença seria na hora de utilização, caso queira adicionar um elemento pode usar o add, e caso queira juntar duas coleções pode usar o addAll para que não tenha que percorrer a segunda coleção adicionando os elementos um a um.

O primeiro método só aceitará 1 objeto, já o segundo aceitara uma coleção de objetos, ou seja, você tem como add apenas 1 ou como add vários de uma só vez.

Espero ter ajudado.