Questão 769141

Tecnologia da Informação · 2022

Questão

ID 769141

Disciplina: Tecnologia da Informação

Assunto: Hashing e Funções de Espalhamento (Estrutura de Dados)

Ano: 2022 Banca: ComDN - Ministério da Defesa - Marinha Órgão: Marinha do Brasil


O 1° Tenente (T) Cauteloso, ao ler acerca da problemática de colisão em variáveis do tipo HashMap escreveu o código Java abaixo.

import java.util,HashMap;

import br,marinha.mil.API.essoal

public static void main(String[] args){

-HashMap<String, Militar> hashMapMilitares =

--new HashMap<String, Militar>();

-CadastroMilitares cadastroMilitares =

--new Pessoal(),load();

-List<Militar> listaMilitares = cadastroMilitares.getMilitares();

for (Militar militar: listaMilitares) {

-for (String nomeDeGuerra: hashMapMilitares.keySet()) {

--if (nomeDeGuerra.hashCode().

---equals(militar.getNomeDeGuerra,hashCode()) {

--throw nei, Exception("Código hash duplicado - COLISÃO!");

--}

-}

-hashMapMilitares.put(militar.getNomeOeGuerra(), militar);

-}

}

O método "load()" da classe "Pessoal" carrega o cadastro de militares do banco de dados integrado ao sistema em uma classe "CadastroMilitares" que gerencia o conjunto de tais pessoas. Por meio do método getMilitares dessa classe, uma instância de HashList é carregada, onde "Militar" representa a classe com as informações referentes ao indivíduo, dentre os quais o nome de guerra, atributo do tipo String acessado mediante o getter "getNomeDeGuerra". Sabe-se que não existem dois militares com mesmo nome de guerra registrado. Assim, acerca do código acima e da preocupação do 1 º Tenente (T) Cauteloso, assinale a opção correta.

Alternativas da questão 769141
Pular para o conteúdo principal