问题标签 [bimap]
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.
java - 使用 xStream 序列化 BiMap
我想用xStream序列化BiMap。由于我不喜欢 xStream 为 BiMap 自动生成的代码,我认为将 BiMap 转换为 HashMap 并仅序列化 HashMap 可能是个好主意,当反序列化它时,我只是再次读取 HashMap 并将其转换回来到 BiMap。所以我想出了以下转换器策略:
这工作得很好,因为 xStream 已经可以转换 HashMaps。奇怪的是,它只有在 BiMap 中有值时才有效。如果 BiMap 为空,我会在解组数据时收到以下异常:
使用转换器后生成的输出(当 BiMap 为空时!)如下:
谁能告诉我,我做错了什么?
caching - 番石榴缓存的 BiMap 功能?
我在数据库中有一个简单的映射表,它将整数键与某些值相关联。一旦我将这些值粘贴在表格中,它们就永远不会消失。我想使用番石榴Cache
,这样这些键就可以被查找一次,然后保存在内存中。看起来番石榴Cache
可以让我轻松做到这一点。但是我需要映射两种方式:从键到值,以及从值到键,例如BiMap
.
有没有一种简单的方法来BiMap
使用 a 获得功能Cache
,还是我必须推出自己的解决方案?
是否有BiMap
允许并发访问的实现,或者如果我想要高效的多线程访问,我是否必须使用读写锁?
java - Guava HashBiMap 的 containsValue 的大 O
我对使用包含唯一键和值的 Map 感兴趣。我也希望 和 具有 O(1) 复杂.containsKey()
性.containsValue()
。对我来说,似乎 aHashBiMap
应该能够支持这种复杂性,因为映射和散列中键和值的唯一性。这是一个正确的假设吗?
java - 如何从现有地图中获取给定双精度值的最接近值的键
由于我需要获取我正在使用的双精度值的键值BiMap
。
对于像 4.0156 这样的特定值,我必须得到键值 a2.. 也就是说,如果,
我尝试了很多方法,但它总是为空,因为没有完全匹配。请任何人帮助我...如果我选择了错误的方式,请更正它,因为我是 Java 新手。
java - 是否有具有可预测迭代顺序(插入顺序)的 BiMap 实现?
标准库LinkedHashSet
是一个HashSet
提供插入顺序迭代的库。是否有一个版本的番石榴BiMap
可以维护键和值的插入顺序迭代?我确实需要BiMap
是可变的,所以ImmutableBiMap
对于我的目的来说还不够。
android - 在android中触摸浮雕位图
我正在开发颜色飞溅应用程序。我在其中使用手指颜料。
现在我想在触摸事件上浮雕位图。我在这里有一个演示,当我应用浮雕时,它会用红色绘制浮雕路径,但我想在触摸时在位图后面浮雕。
android - 发送对另一个活动 Android 进行更改的图像
我在将图像从 imageView 发送到另一个活动时遇到问题。我的代码运行良好,但仅用于发送代码中给出的图像而无需更改。我在照片上添加了过滤器,我需要发送带有这些更改的图像。这是我的代码:
第一项活动:
下一个活动:
请告诉我我应该改变什么才能正确发送带有更改的图像?
java - 如何查找文件中的子字符串是否已存在于哈希图中?
我有一个 hashMap(guava bimap),其中的键和值都是字符串,我想编写一个程序来解析给定的文件并用 Bimap 中的相应值替换文件中的所有字符串,这些字符串也在 BiMap 中。
例如:我有一个名为 test.txt 的文件有以下文本
Java is a set of several computer software and specifications developed by Sun Microsystems.
我的 BiMap 有
"java i" => "value1"
"everal computer" => "value2"
等等。
所以现在我希望我的程序将 test.txt 和 Bimap 作为输入并给出一个看起来像这样的输出
请指出任何可以做到这一点的算法,该程序将大文件作为输入,所以蛮力可能不是一个好主意。
编辑:我使用固定长度的字符串作为键和值。该示例只是为了展示操作。谢谢。
templates - 模板中标记的 boost::bimap - 它们有效吗?
我在模板类中嵌入了 boost::bimap,经过多次反复试验,我发现了一些可以编译的东西和一些不能编译的东西。我正在使用 g++ (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6) 和 Boost 1.55。我将给出示例 1 中的完整代码,仅给出示例 2 和示例 3 的更改部分。该函数没有做任何有用的事情,只是在这里测试语法和编译器。
编译的示例 1(完整列表):
我想将标签封装在模板类中,因为不需要在类之外知道它们。理想情况下,它们应该是私有的,但为了避免访问权限产生任何问题,它们被声明为公共的。
不编译的示例 2(除外):
标签访问 bimap 的两行都会产生以下消息:
这可以理解为 Label1 需要完全限定,从成为模板类的一部分,如下所示。
然而,产生了同样的错误。问题1:有人明白为什么吗?
使用模板类 Test 的真正问题和原因是我希望 Label 1 的类型是模板参数。因此,回到示例 1 并仅替换std::string
为模板参数。
不编译的示例 3(除外):
同样,通过标签访问地图的两行都会产生上述编译错误。在重写代码以使用“左”和“右”视图之前,如果有人能帮助我理解问题2:为什么不能在标记类型的定义中使用模板参数?
感谢所有输入!
java - “容器中没有原语”规则是否适用于数组?
我最近一直在尝试实现一个简单的遗传算法。我需要使用存储成对的可逆映射(Character,4 bits)
。BiMap
我为这项任务选择了番石榴。int
但是,由于我为位存储选择了一个数组,测试不会通过。
是int[]
原始类型吗?使用 aVector
或List
整数是否更适合此任务?