问题标签 [map]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2000 浏览

java - 修改映射并迭代键集时的Java ConcurentMap keySet()问题

快速背景 我有一个并发映射,用于缓存一些经常更改的值(仍然值得从测试中缓存它们)。我想通过检查值中的过期时间定期从我的缓存中逐出项目。我正在使用 keySet() 方法来获取对我所有键的引用,然后检查值,如果过期,我将其删除。在其他线程中,缓存不断被查询和更新(删除)。

从 keySet() 的 javadocs 中提到,如果在我迭代 keyset Set 时地图发生变化,结果是未定义的。显然,我想要一种定义的方式来处理这个问题,所以结果是有效的。将 Set 传递给 HashSet 然后迭代这个集合是否足够,因为我的理解是这个集合不会得到地图的支持,这是一种浪费内存的方式吗?任何想法表示赞赏。

不幸的是,我的 evictor 并不是从并发映射中删除项目的唯一方法,所以我说我需要在迭代之前将 keySet 复制到另一个 Set 是正确的。

提前致谢

编辑:原来我正在阅读 Map keySet() 方法而不是 ConcurrentMap keySet() 的 javadocs。谢谢我的坏:)

返回此映射中包含的键的集合视图。集合由地图支持,因此对地图的更改会反映在集合中,反之亦然。如果在对集合进行迭代时修改了映射(通过迭代器自己的删除操作除外),则迭代的结果是不确定的。该集合支持元素移除,即通过 Iterator.remove、Set.remove、removeAll retainAll 和 clear 操作从映射中移除相应的映射。它不支持 add 或 addAll 操作。

0 投票
4 回答
623 浏览

c++ - 为什么我的 C++ 映射实现不存储值?

我有一个名为 ImageMatrix 的类,它以递归方式实现 C++ 映射;最终结果是我有一个 3 维数组。

每个运算符只返回一个映射包装类,如下所示:

基本上,当我将值设置为 100 并将值测试为 cout 时,它显示为 0,而不是我设置的数字。

注意:我已经对这个例子的原始代码进行了修改,以便它占用更少的空间,因此可能会出现一些语法错误(请不要指出它们)。

0 投票
2 回答
30538 浏览

c++ - C++ STL map::erase a non-existing key

关于 C++ STL 映射,按键擦除:-

删除不存在的密钥是否合法?即下面的片段可以吗?

干杯

0 投票
4 回答
1230 浏览

c++ - std::map 设计:为什么 map 接受比较器作为模板参数

STL 中的地图类型有下一个类型:

作为我们可以传递Compare谓词的模板参数之一,为什么 map 接受这个谓词作为模板参数而不是构造函数中的对象?

它可以具有更灵活的接口,例如boost::function< bool, const T&, const T& >在构造函数中。
当然,我理解在设计 STL 时不存在 boost,但设计师可以在 boost::function 上创建类似的东西。

我相信它有一些深刻的原因。

已编辑
抱歉,您提出了虚拟问题,地图具有相同的可能性:)
在您回答后我的问题没有意义。

0 投票
2 回答
6031 浏览

ruby - 林克地图!或收集!

什么是Linq相当于map!或收集!Ruby中的方法?

可以通过使用 foreach 遍历集合来做到这一点,但我想知道是否有更优雅的 Linq 解决方案。

0 投票
6 回答
23724 浏览

c++ - STL 映射与向量的迭代器访问性能?

使用迭代器循环 STL 映射与向量之间的性能差异是什么?我想使用 map 键进行插入、删除和一些访问,但我还需要定期访问map 中的每个元素。

0 投票
3 回答
10419 浏览

jsp - JSP 中 Struts2 映射条目的字段名称

我想从 JSP 中填充 Struts2 操作的地图属性。我应该使用什么格式的数据名称?最初我对填充 Map<String, String> 感兴趣,但将来我会对填充 Map<String, DomainClass> 感兴趣,其中 DomainClass 具有自己的属性。

0 投票
2 回答
5276 浏览

android - 如何使用 Android 地图通过手势进行缩放(类似 iphone)

您如何使用 Android API 像 iPhone 一样通过 2 个手指手势放大和缩小地图?

0 投票
7 回答
852 浏览

java - 制作这个 Java 程序的最佳方法是什么?

这是程序简介的描述:

制作一个软件来跟踪大学讲师讲授的课程。对于每门课程,需要记录课程代码和标题,以及需要记录参加该课程的讲师名单。系统应允许从列表中添加和删除课程和讲师,并显示诸如参加课程的讲师和注册给特定讲师的课程的信息。


到目前为止,我有两个类 Lecturer 和 Course ,它们分别是 name id 和 code 和 title 等两个属性。然后我创建了另外两个类来保存这两个对象的数据,并且我使用了一个 Map,所以我已经映射了 Lecturer 的 id 和 name 以及课程的代码和标题,它们都在名为 LecturerList 和 CourseList 的单独类中。

但是现在我不能为讲师分配课程。已经坚持了一周了。有任何想法吗?我是否以错误的方式处理了这个问题?

0 投票
3 回答
4149 浏览

map - 如何在 OpenLayers 中混合具有不同坐标系的图层?

我正在使用 OpenLayers 地图,我想在其中使用不同的地图服务器,这些地图服务器使用不同的坐标系。OpenLayers 可以将其集成到同一张地图中并自动转换坐标系吗?