java – 如何比较两个Hashmaps
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何比较两个Hashmaps,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1632字,纯文字阅读大概需要3分钟。
内容图文
![java – 如何比较两个Hashmaps](/upload/InfoBanner/zyjiaocheng/787/64c7d1b99728434282a5adce7229246d.jpg)
我在这里填写了两个Hashmaps:
Properties properties = new Properties();
try {
properties.load(openFileInput("xmlfilesnames.xml"));
} catch (IOException e) {
e.printStackTrace();
}
for (String key : properties.stringPropertyNames()) {
xmlFileMap.put(key, properties.get(key).toString());
}
try {
properties.load(openFileInput("comparexml.xml"));
} catch (IOException e) {
e.printStackTrace();
}
for (String key : properties.stringPropertyNames()) {
compareMap.put(key, properties.get(key).toString());
}
宣言:
public Map<String,String> compareMap = new HashMap<>();
public Map<String, String> xmlFileMap = new HashMap<>();
他们看着像是:
如何检查job_id是否为null?
有时job_id确实不存在.因此,缺少job_id.
有时在compareMap中有一个job_id
我怎样才能比较job_id并在比较时得到一个布尔值?
解决方法:
似乎您想要根据特定模式查找地图密钥.这可以通过迭代所有键来完成:
private static String PREFIX = "<job_id>";
private static String SUFFIX = "</job_id>";
public static String extractJobId(Map<String, ?> map) {
for(String key : map.keySet()) {
if(key.startsWith(PREFIX) && key.endsWith(SUFFIX))
return key.substring(PREFIX.length(), key.length()-SUFFIX.length());
}
// no job_id found
return null;
}
如果您可能有多个job_id键并想要检查它们是否全部相同,则可以构建一个中间集:
public static Set<String> extractJobIds(Map<String, ?> map) {
Set<String> result = new HashSet<>();
for(String key : map.keySet()) {
if(key.startsWith(PREFIX) && key.endsWith(SUFFIX))
result.add(key.substring(PREFIX.length(), key.length()-SUFFIX.length()));
}
return result;
}
现在您可以使用此方法来比较不同地图的job_id:
if(Objects.equals(extractJobIds(xmlFileMap), extractJobIds(compareMap))) {
// ...
}
内容总结
以上是互联网集市为您收集整理的java – 如何比较两个Hashmaps全部内容,希望文章能够帮你解决java – 如何比较两个Hashmaps所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。