Questão nº 35

Questão de Tecnologia da Informação · FCC SEGEP-MA 2018 (nº 35)

FCC2018Analista Executivo - Programador de SistemasTecnologia da Informação
Gabarito: Bver comentário ↓

A API Java Collections traz uma interface que especifica o que uma classe deve ser capaz de fazer para ser uma lista. Para a criação de listas, considere as instruções abaixo:

I. `ArrayList lista = new ArrayList();`
II. `List lista = new ArrayList();`
III. `List<String> lista = new LinkedList<>();`
IV. `ArrayList[] lista = new ArrayList[]();`

Apresenta corretamente uma lista o que consta APENAS em

Resposta comentada

Gabarito Alternativa B

Em Java, uma lista é uma coleção ordenada de elementos, onde cada elemento tem um índice. Você pode criar uma lista usando implementações como ArrayList (que usa um array dinâmico) ou LinkedList (que usa uma estrutura de nós encadeados).

  • (A) Incorreta: A alternativa IV está incorreta.
  • (B) Correta: As instruções I, II e III criam instâncias válidas de listas.
    • I. ArrayList lista = new ArrayList();: Cria uma ArrayList e a referencia com o tipo concreto ArrayList. É funcional, embora menos flexível que usar a interface List.
    • II. List lista = new ArrayList();: Cria uma ArrayList e a referencia com a interface List. Esta é a melhor prática, pois permite trocar a implementação (ex: para LinkedList) sem alterar o código que usa a variável lista. Isso é polimorfismo.
    • III. List<String> lista = new LinkedList<>();: Cria uma LinkedList (que também implementa List) e a referencia com a interface List, utilizando generics (<String>) para especificar que a lista conterá apenas objetos do tipo String. É uma forma moderna e segura de criar listas.
  • (C) Incorreta: A alternativa I também está correta.
  • (D) Incorreta: A alternativa IV está incorreta.
  • (E) Incorreta: As alternativas I e II também estão corretas.

Distrator mais tentador (IV):

  • (IV) ArrayList[] lista = new ArrayList[]();: Esta instrução tenta criar um array de ArrayLists, não uma única lista. Além disso, a sintaxe new ArrayList[]() está incorreta para inicializar um array em Java; seria necessário especificar o tamanho (ex: new ArrayList[10]) ou fornecer elementos (ex: new ArrayList[]{new ArrayList(), new ArrayList()}). A armadilha aqui é confundir "uma lista" com "um array de listas" e também usar uma sintaxe de inicialização de array inválida.

Fonte: FCC SEGEP-MA 2018 Analista Executivo - Programador de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho