Which Java collection lets you associate elements with keys while iterating in insertion (FIFO) order?

Difficulty: Easy

Correct Answer: java.util.LinkedHashMap

Explanation:


Introduction / Context:
Different Java collections provide different ordering guarantees. The question asks for a map (key–value association) that also preserves insertion order, enabling FIFO-style iteration.



Given Data / Assumptions:

  • We need key–value association (i.e., a Map).
  • We want predictable iteration order: specifically insertion order (FIFO-like).


Concept / Approach:
LinkedHashMap combines a hash table with a doubly-linked list to maintain predictable iteration order. By default, it preserves insertion order; alternatively, it can be configured for access order. Other map implementations either do not preserve order (HashMap) or impose a sort order by key (TreeMap), not insertion order.



Step-by-Step Reasoning:

Eliminate non-Map types: ArrayList and PriorityQueue are not maps.Consider map types: HashMap → no order guarantee; TreeMap → sorted by key; LinkedHashMap → preserves insertion order.


Verification / Alternative check:
Quick test inserting keys A, B, C into a LinkedHashMap and iterating shows A, B, C order.



Why Other Options Are Wrong:
ArrayList lacks keys; HashMap is unordered; TreeMap orders by key comparator; PriorityQueue is a heap, not key–value store.



Common Pitfalls:
Confusing insertion order with sorted order; assuming HashMap iteration order is stable (it is not guaranteed).



Final Answer:
java.util.LinkedHashMap

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion