基于Google Guava身份的弱密钥的简单Java哈希映射?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了基于Google Guava身份的弱密钥的简单Java哈希映射?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含948字,纯文字阅读大概需要2分钟。
内容图文
![基于Google Guava身份的弱密钥的简单Java哈希映射?](/upload/InfoBanner/zyjiaocheng/793/ae42f5e0b87a4defac87fac5fdbc8dc5.jpg)
我需要一个带弱键的简单哈希映射. Java自己的WeakHashMap给了我这个,但不是身份语义(它使用equals()进行密钥比较).
Google的Guava库已经改进了它的哈希映射方法.在最新版本(14.0)中,我现在显然应该使用CacheBuilder,而不是使用MapMaker(其中有很多(如果不是大多数的东西都已弃用)),它有各种各样的选项.好吧,它有一个weakKeys()选项,所以这就是我要用的.但是生成的缓存也是并发的(即它将各种映射保留在内部并使用它自己的内部密钥集来同时调节访问),我无法关闭它;我不需要并发,因为我已经使用自己的ReadWriteLock来管理对我的地图的访问.
好吧,我会接受并发;给我一张地图!我尝试:
Map<Foo, Bar> map = CacheBuilder.newBuilder().weakKeys().build();
等等,这给了我一个缓存< Object,Object>,这不是Map< Foo,Bar>!如何在Google Guava中获得基于身份的简单弱键映射?
解决方法:
假设你愿意和并存,你几乎就在那里:
CacheBuilder.newBuilder().weakKeys().build().asMap();
但是那说……你的用例并不完全清楚,也就是说,为什么你需要一个具有这些属性的地图,以及为什么当密钥有另一个相等的概念时你需要一个带有身份语义的地图.
内容总结
以上是互联网集市为您收集整理的基于Google Guava身份的弱密钥的简单Java哈希映射?全部内容,希望文章能够帮你解决基于Google Guava身份的弱密钥的简单Java哈希映射?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。