加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用密钥的一部分获取HashMap的值

发布时间:2020-12-15 04:30:12 所属栏目:Java 来源:网络整理
导读:我有一个HashMap(String,Object).关键是超过1个唯一ID的组合.我有一个输入,一个字符串,它是键的一部分(1个唯一ID).我需要使用HashMap中的值来获取HashMap中的值,而不需要在HashMap中迭代数千个值. 我们可以使用HashMap.get()中的任何Regex语句来实现它吗?
我有一个HashMap(String,Object).关键是超过1个唯一ID的组合.我有一个输入,一个字符串,它是键的一部分(1个唯一ID).我需要使用HashMap中的值来获取HashMap中的值,而不需要在HashMap中迭代数千个值.

我们可以使用HashMap.get()中的任何Regex语句来实现它吗?

我的密钥是xxx.yyy.zzz,其中xxx.zzz的组合在整个Map中是唯一的.我有xxx和zzz作为输入.此外,我为一个给定的zzz设置了yyy的可能值(5-6种可能性也可能增加).

我现在有两个选择来解决这个问题.

> Map.Entry分别检查密钥是否以xxx和zzz开头和结尾
>试验和错误方法
?一世.使用所有可能的yyys形成密钥xxx.yyy.zzz并使用.contains()检查密钥是否存在
?II.但是这样,如果我为每次调用执行.contains()5-6次,在最坏的情况下是否会循环5-6次?
?III.我也在stringpool中创建更多字符串.

我应该选择哪一个?

解决方法

从HashMap检索值而不迭代条目/键(你不想要的)的唯一方法是搜索完整的密钥.

如果您需要通过部分密钥进行有效搜索,则应考虑使用HashMap,其键是该部分密钥.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读