我需要创建一个整数列表,并能够快速添加、删除和查找该列表中的项目。虽然我可以创建一个包含它们的字符串和一个处理添加/删除/定位的函数,但如果 Go 可以为我处理它显然更有意义。我查看了容器/列表,它似乎并不完全合适,但也许我错了。为了非常快速地实现某些东西,我使用了一个整数数组,但这远非理想,我需要找到一个更好的解决方案。该列表可能最多包含 1,000 个值。有人可以建议在 Go 中处理这个问题的“最佳”方法吗?一个例子价值 1,000 字。
3 回答
达令说
TA贡献1821条经验 获得超6个赞
为了保持简单,我将使用map。地图非常快速、高效且内置。
package main
import "fmt"
func main() {
// Make our collection of integers
xs := make(map[int]bool)
// Add some things to the collection
xs[1] = true
xs[2] = true
xs[3] = true
// Find them
if xs[2] {
fmt.Println("Found 2")
} else {
fmt.Println("Didn't Find 2")
}
if xs[8] {
fmt.Println("Found 8")
} else {
fmt.Println("Didn't Find 8")
}
// Delete them
delete(xs, 2)
// List them
for x := range xs {
fmt.Println("Contents", x)
}
}
其中产生
发现 2
没找到 8
内容 3
内容 1
这种解决方案的唯一缺点可能是整数没有按任何特定顺序保存,这对您的应用程序可能重要也可能不重要。
- 3 回答
- 0 关注
- 204 浏览
添加回答
举报
0/150
提交
取消