Porque o método add(), da interface collections, é boolean?

2 respostas Resolvido
Alysson_Alves1

Eu tava estudando collections e li que add(), é boolean, ai bateu a curiosidade e fui fazer o teste, e de fato ele retorna true ao adicionar um item a lista. Pq isso? ele n poderia ser do tipo void?

2 Respostas

I
Solucao aceita

De acordo com a documentação:

Garante que esta coleção contenha o elemento especificado (operação opcional). Retorna true se esta coleção foi alterada como resultado da chamada. (Retorna false se esta coleção não permitir duplicatas e já contiver o elemento especificado.)
Coleções que suportam esta operação podem colocar limitações sobre quais elementos podem ser adicionados a essa coleção. Em particular, algumas coleções se recusam a adicionar elementos null e outras impõem restrições ao tipo de elementos que podem ser adicionados. As classes de coleção devem especificar claramente em sua documentação quaisquer restrições sobre quais elementos podem ser adicionados.

Se uma coleção se recusar a adicionar um elemento específico por qualquer motivo que não seja o que já contém o elemento, deverá lançar uma exceção (em vez de retornar false). Isso preserva a invariante de que uma coleção sempre contém o elemento especificado após o retorno dessa chamada.

Ou seja, a inclusão de um elemento em uma coleção pode ser proibido, caso haja esse elemento já registrado na coleção. Isso tem por finalidade, evitar a inclusão de elementos repetidos, por isso ela retorna se a adição ocorreu (true) ou não (false). Por exemplo, a interface Set<E> que estende de Collection<E> não permite duplicatas.

Alysson_Alves1

Mds vc responde tudo ksksk Obrigado, agora faz sentido.

Criado 25 de maio de 2020
Ultima resposta 25 de mai. de 2020
Respostas 2
Participantes 2