Golang 的 列表 除了支持 插入元素 外,还可以将整个列表插入到另一个列表中。在一个列表中插入另一个列表,只支持两种情况,分别为:在头部插入列表和在尾部插入列表。
PushFrontList(other *List)
参数 | 描述 |
---|---|
other | 要插入的列表。 |
在列表的头部插入列表 other。
PushBackList(other *List)
在列表的尾部插入列表 other。
使用 PushFrontList 在列表头部插入一个列表
package main
import (
"container/list"
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
//使用 PushFrontList 在列表头部插入一个列表
listHaiCoder := list.New()
listHaiCoder.PushFront("Hello")
listHaiCoder.PushFront("HaiCoder")
listInsert := list.New()
listInsert.PushBack("嗨客网")
listInsert.PushBack("haicoder")
listHaiCoder.PushFrontList(listInsert)
for i := listHaiCoder.Front(); i != nil; i = i.Next() {
fmt.Println("Element =", i.Value)
}
}
程序运行后,控制台输出如下:
我们通过 list.New 创建了两个列表分别为 listHaiCoder 和 listInsert,接着使用 PushFront 函数和 PushBack 函数分别为两个列表插入元素。
最后,我们使用 PushFrontList 将列表 listInsert 的所有元素插入到列表 listHaiCoder 的头部,最后,我们打印最终的列表,发现 listInsert 的元素排在了整个列表的最前面。
使用 PushBackList 在列表尾部插入一个列表
package main
import (
"container/list"
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
//使用 PushBackList 在列表尾部插入一个列表
listHaiCoder := list.New()
listHaiCoder.PushFront("Hello")
listHaiCoder.PushFront("HaiCoder")
listInsert := list.New()
listInsert.PushBack("嗨客网")
listInsert.PushBack("haicoder")
listHaiCoder.PushBackList(listInsert)
for i := listHaiCoder.Front(); i != nil; i = i.Next() {
fmt.Println("Element =", i.Value)
}
}
程序运行后,控制台输出如下:
我们通过 list.New 创建了两个列表分别为 listHaiCoder 和 listInsert,接着使用 PushFront 函数和 PushBack 函数分别为两个列表插入元素。
最后,我们使用 PushBackList 将列表 listInsert 的所有元素插入到列表 listHaiCoder 的尾部,最后,我们打印最终的列表,发现 listInsert 的元素排在了整个列表的最后面。
在一个列表中插入另一个列表,只支持两种情况,分别为:在头部插入列表和在尾部插入列表。在头部插入列表语法:
PushFrontList(other *List)
在尾部插入列表语法:
PushBackList(other *List)