iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
Software Development

奶茶裡藏的資料結構(Kotlin範例)系列 第 17

Kotlin 裡的 Java 老朋友:LinkedList 範例

  • 分享至 

  • xImage
  •  

「那要怎麼實作 LinkedList 呢?」我忍不住焦急的問。說不定下一個挑戰就是這題,先來偷師一下。

學長笑了笑,搖搖頭說:「不用那麼緊張啊。其實在實務開發裡,很少需要自己動手去實作 LinkedList。因為這種基礎的資料結構,標準函式庫早就幫我們準備好了,直接拿來用就行。」

他邊說邊打開編輯器,寫下一段小範例給我看。

fun main() {
    val linkedList = java.util.LinkedList<String>()
    linkedList.add("A")
    linkedList.add("B")
    linkedList.add("C")
    linkedList.add("D")

    println("初始: $linkedList")

    // 移除索引 1 的元素(也就是 "B")
    linkedList.removeAt(1)

    println("移除索引 1 後: $linkedList")

    // 移除索引 0 的元素(也就是 "A")
    linkedList.removeAt(0)

    println("移除索引 0 後: $linkedList")
}

「咦?這看起來像是 Java 的程式碼耶?」我忍不住問。 Java 很有名,聽說很多系統都是用它開發的,只是我也聽說,因為版本繁多,很多老系統乾脆一直卡在 Java 8,不敢升級。

學長點點頭:「沒錯,因為 Kotlin 本身沒有特地提供 LinkedList,不過它完全相容 Java,所以可以直接呼叫 Java 的 LinkedList 類別來用。」

「那這個 println 是做什麼的?」我指著程式碼問。

「println 只是把內容印出來,方便檢查結果是不是跟想像的一樣。」學長聳了聳肩,「畢竟直接觀察記憶體的變化可麻煩多了。」說著,他按下了執行鍵,螢幕上瞬間跳出結果。

初始: [A, B, C, D]
移除索引 1 後: [A, C, D]
移除索引 0 後: [C, D]

「嗯,跟我預期的一樣。」學長露出滿意的微笑。


上一篇
ArrayList 與 LinkedList 的真實人氣差距
下一篇
串燒上的 Stack
系列文
奶茶裡藏的資料結構(Kotlin範例)21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言