📅  最后修改于: 2023-12-03 15:17:10.227000             🧑  作者: Mango
在编程中,链表是一种常用的数据结构,具有动态扩容和插入删除效率高的特点。而在Kotlin中,集合框架提供了LinkedList
来实现链表,本文将介绍Kotlin中链表的相关操作。
要创建Kotlin中的LinkedList,只需要调用其构造方法即可:
val list = LinkedList<Int>()
这里创建了一个空的整数类型的LinkedList。当然,也可以在创建时就添加元素:
val list = LinkedList(listOf(1, 2, 3))
这里创建了一个整数类型的LinkedList并初始化为1、2、3三个元素。
要在LinkedList中添加元素,有两个方法可供选择:
add(element: E)
:添加一个元素到LinkedList末尾。add(index: Int, element: E)
:在指定的位置添加一个元素。该位置后面的元素会依次后移。例如:
val list = LinkedList<Int>()
list.add(1)
list.add(2)
list.add(1, 3)
println(list) // [1, 3, 2]
其中,list.add(1, 3)
表示在第1个位置(从0开始)插入元素3,其结果为[1, 3, 2]
。
要在LinkedList中删除元素,也有两种方法可供选择:
remove(element: E)
:删除第一个匹配element的元素。removeAt(index: Int)
:删除指定位置的元素。例如:
val list = LinkedList(listOf(1, 2, 3))
list.remove(2)
list.removeAt(0)
println(list) // [3]
其中,list.remove(2)
表示删除第一个值为2的元素,其结果为[1, 3]
;list.removeAt(0)
表示删除第0个位置的元素1,其结果为[3]
。
要在LinkedList中获取元素,同样有两种方法可供选择:
get(index: Int)
:获取指定位置的元素。indexOf(element: E)
:返回第一个匹配element的元素的下标。例如:
val list = LinkedList(listOf(1, 2, 3))
val e1 = list.get(2)
val i2 = list.indexOf(2)
println("e1: $e1, i2: $i2") // e1: 3, i2: 1
其中,list.get(2)
表示获取第2个位置的元素3,list.indexOf(2)
表示返回值为2第一次出现的位置,其结果为1。
要在LinkedList中修改元素,可以使用set(index: Int, element: E)
方法,例如:
val list = LinkedList(listOf(1, 2, 3))
list.set(1, 4)
println(list) // [1, 4, 3]
其中,list.set(1, 4)
表示将第1个位置的元素2改为4,其结果为[1, 4, 3]
。
要遍历LinkedList,可以使用for-in
循环或者forEach
方法,例如:
val list = LinkedList(listOf(1, 2, 3))
for (e in list) {
print("$e ")
}
println()
list.forEach { e -> print("$e ") }
其结果均为:
1 2 3
1 2 3
本文介绍了Kotlin中LinkedList的创建、添加、删除、获取、修改、遍历等基本操作。链表作为数据结构的经典之作,也可以应用到各种场合中,非常值得重视。