Q109.
一Java 程式片段如下,執行後下列何者為其輸出?
電腦軟體設計(JAVA) · 乙級 · Java · Q109
難易度分析
2 / 5
本題考查對 Java 集合類別之基本操作與特性的理解,需能正確追蹤程式執行過程中的元素新增順序,並判別該資料結構是否允許重複元素,屬於基礎概念應用題。
正確答案:②[A, B, C, D, A, B]
② [A, B, C, D, A, B]:此為正確答案。程式邏輯應為先將 A、B、C、D 四個元素加入集合,隨後再次新增 A 與 B,符合 ArrayList 或類似集合類別允許重複元素的特性,輸出結果為 `[A, B, C, D, A, B]`。
錯誤選項解析
- ① [A, B, C, D]:此選項僅輸出原始四個元素,未考慮程式中可能存在的重複新增或迭代操作導致元素再次被加入的情況。
- ③ [A, B, C, D, [A], [B]]:此選項錯誤地假設元素會被巢狀包裝(如 `[A]`、`[B]`),但 Java 集合在新增字串元素時不會自動產生額外層級的括號結構。
- ④ [A, A, B, B, C, D]:此選項假設元素會以成對重複方式出現(A, A, B, B),與實際程式的執行順序不符,正確應為先完成 A~D 後再追加 A、B。
Learning Tip
"此類題型常考 Java 集合框架(Collection Framework) 的特性,特別是 ArrayList 與 LinkedList 允許重複元素,而 Set 系列(如 HashSet、TreeSet)則會自動去重。解題關鍵在於確認使用的資料結構類型,並追蹤元素的新增順序與是否允許重複。實務上需注意 List 介面的 add() 方法會保留所有新增的元素,不會進行去重檢查。"
學員答題分佈
①[A, B, C, D]0%
②[A, B, C, D, A, B]0%
③[A, B, C, D, [A], [B]]0%
④[A, A, B, B, C, D]0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!