Carregando...
Carregando...
Ajude a melhorar a plataforma
Em um projeto de desenvolvimento de software, um programador está utilizando a estrutura de dados Set em Java para armazenar uma coleção de números inteiros sem duplicatas. Ele precisa escolher entre as implementações HashSet, LinkedHashSet e TreeSet, levando em consideração as características de cada uma. O programador deseja que a ordem de inserção dos elementos seja mantida e que a coleção não permita valores duplicados.
Com base nas características das implementações de Set mencionadas no texto, sobre qual implementação o programador deve escolher para atender a seus requisitos, assinale a alternativa correta:
Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
🎓 Gabarito Comentado (AVA):
A alternativa "O programador deve escolher LinkedHashSet, pois mantém a ordem de inserção dos elementos e não permite valores duplicados" está correta pois o LinkedHashSet, além de garantir a unicidade dos elementos, também preserva a ordem de inserção, atendendo aos requisitos do programador.
O LinkedHashSet é uma implementação da interface Set em Java que combina as características do HashSet e do LinkedList. Assim como o HashSet, o LinkedHashSet não permite a inclusão de elementos duplicados na coleção, garantindo a unicidade dos elementos.
Isso significa que se tentarmos adicionar um elemento que já existe no conjunto, essa operação será ignorada, e o conjunto permanecerá inalterado.
A alternativa "O programador deve escolher HashSet, pois garante que a ordem de inserção dos elementos seja mantida" está incorreta pois, embora o HashSet não permita valores duplicados, ele não garante a manutenção da ordem de inserção dos elementos.
A alternativa "O programador deve escolher TreeSet, pois não permite valores duplicados e ordena os elementos de forma natural" está incorreta pois, apesar de o TreeSet não permitir valores duplicados e ordenar os elementos, ele não mantém a ordem de inserção, que é um requisito do programador.
A alternativa "O programador deve escolher HashSet, pois é mais rápido na pesquisa de dados do que as outras implementações" está incorreta pois, embora o HashSet possa ser mais rápido na pesquisa de dados, ele não atende ao requisito de manutenção da ordem de inserção dos elementos.
A alternativa "O programador deve escolher LinkedHashSet, pois permite valores duplicados e mantém a ordem de inserção" está incorreta pois o LinkedHashSet não permite valores duplicados, contrariando a afirmação da alternativa.