【发布时间】:2021-09-22 06:25:21
【问题描述】:
在 Java 中,containsValue() 函数检查哈希图是否包含特定值。它寻找值,而不是键。
如何在 c++ 中实现?
尤其是unordered_map。
【问题讨论】:
-
这里你可以看到所有的函数,你会找到检查包含的函数。 en.cppreference.com/w/cpp/container/unordered_map
-
unordered_map中没有这个东西,你必须自己编程(~3-4行代码)。
-
java 通常采用与 c++ 完全不同的方法。在 c++ 中,当一个操作不能有效地完成时,很可能没有标准方法,但您可以在需要时自己实现它。另一方面,Java 试图做到万无一失,因此它会为您提供方法,而不是假设您可以编写它。地图的目的是根据键有效地查找值,而不是查找值。
-
unordered_map 不支持,但我们可以使用
boost:bimap作为替代来实现它。 -
如果你需要这个,map (ordered or not) 对你来说可能是一个错误的数据结构。
标签: c++ unordered-map