Considere os códigos a seguir:Código 01import java.util.Stac...
Código 01 import java.util.Stack; public class PilhaExemplo { public static void main(String[] args) { Stack<Integer> pilha = new Stack<>(); pilha.push(10); pilha.push(20); pilha.push(30); System.out.println("Elementos removidos da pilha:"); while (!pilha.isEmpty()) { System.out.println(pilha.pop()); } } } Código 02 import java.util.LinkedList; import java.util.Queue; public class FilaExemplo { public static void main(String[] args) { Queue<Integer> fila = new LinkedList<>(); fila.add(10); fila.add(20); fila.add(30); System.out.println("Elementos removidos da fila:"); while (!fila.isEmpty()) { System.out.println(fila.poll()); } } }
Com base nos dois trechos de código apresentados, assinale a alternativa correta ao comparar o código da pilha com o código da fila.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: C
Fundamento decisivo: A decisão depende da identificação dos métodos efetivamente chamados em cada código: no Código 01, push e pop; no Código 02, add e poll. Isso corresponde à alternativa C.
- Quando a alternativa descreve métodos usados no código, confira primeiro os nomes chamados no trecho antes de discutir conceitos mais amplos.
- Separe comportamento da estrutura e implementação concreta: pilha/fila indicam política de acesso; Stack e LinkedList indicam tipos efetivamente usados no código.
- Não confunda quantidade fixa de elementos no exemplo com complexidade assintótica; custo constante se registra como O(1).
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo