-2

我将从框架中一一接收字符串,我需要将它们保存在某个容器中并稍后删除其中一些。现在我有两个选择:-

  1. 创建一段字符串,然后通过查找删除一些项目
  2. 使用 key=string 和 data=dummy 数据创建字符串映射,以便轻松删除

所以我个人更喜欢第二种选择。这是正确的选择吗?我们有更好的办法吗?

4

1 回答 1

2

如果您需要按值访问和删除字符串,那么map[string]struct{}如果字符串的数量足够大并且没有重复项,那么 a 会为您提供更好的性能。如果有重复项,并且在删除时只需要删除一个,那么 amap[string]int会起作用,其值是字符串出现的次数。如果字符串的数量不大,那么 acontainer/list可能比切片更好,因为您可以在恒定时间内从中删除字符串。切片仅在小尺寸时才会优于其他切片,对于所有实际情况,删除都需要复制切片的一部分。

于 2021-05-10T04:50:04.053 回答