0

我正在设计我的程序的核心,并且有各种实体,我目前循环调用update(). 我有大约十个vector包含我的对象的 s,尽管将来这可能会增长到更大的数量。我刚刚意识到我需要通过id相当定期的方式查找这些,所以我不得不遍历所有元素以查找正确的 id。

我正在考虑创建一个hashmap包含id以及指向对象本身的指针。这是最有效的方法吗?id 是半随机的,尽管它们只会在整个程序中增加,每个列表中的每个元素都有一个唯一的 id(每次分配一个 id 计数器都会增加)。向量中的元素现在经常被删除和添加。除了在 java 中的一小部分之外,我对 hashmap 的工作并不多,所以我不确定这是否是一条有效的途径。我相信代码仍然是可读的,但是除了 hash_map 之外还有什么更适合这个的选项吗?谢谢

4

1 回答 1

1

我不知道为什么你有 10 vectors - 如果对象可以存储在一个 sortedvector中,你可以binary_search用来查找对象(记住在每次插入后对其进行排序)。

当然,这hash_map也可以,但以空间/内存为代价。

于 2012-09-25T23:19:22.533 回答