作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
数据的格式为:
Map<String, Map<String, Integer>>
看起来像这样:
{"MilkyWay": {"FirstStar" : 3, "SecondStar" : 9 .... }, "Andromeda": {"FirstStar" : 10, "SecondStar" : 9 .... } }
我想在快速循环中比较 Star
值,因此我想比较 MilkyWay
中 FirstStar
的整数值和 Andromeda
,如果值相同或不同,则返回 true
或 false
。因为这张 map 很大。
我想做这样的事情:
//GalaxyMap<String, <Map<String, Integer>>
for (Map<String, Integer> _starMap : GalaxyMap.values())
{
for (String _starKey : _starMap.keySet()){
//Can't quite think of the correct logic... and I'm tired...
}
}
我想让它尽可能短......我已经盯着这个有一段时间了,我正在绕着它转圈。
编辑
外键不同,内键相同
此外,由于这是来自服务器的响应,我不知道它的大小
最佳答案
为什么这需要一张 map 。如果您总是使用“FirstStar”、“SecondStar”等作为 key ,那么为什么不将其作为一个列表呢..
Map<String, List<Integer>>
然后你可以这样做:
public boolean compareGalaxyStar(String galaxyName, String otherGalaxyName, int star) {
List<Integer> galaxyStars = galaxyMap.get(galaxyName);
List<Integer> otherGalaxyStars = galaxyMap.get(otherGalaxyName);
return galaxyStars.get(star) == otherGalaxyStars.get(star);
}
注意:您需要进行一些验证以确保输入正确。
要为所有明星实现这一点,没有太大不同。
if(galaxyStars.size() == otherGalaxyStars.size()) {
for(int x = 0; x < galaxyStars.size(); x++) {
// Perform your comparisons.
if(galaxyStars.get(x) != otherGalaxyStars.get(x)) {
// Uh oh, unequal.
return false;
}
}
}
关于java - 需要一双新的眼睛来弄清楚比较 map 中的值背后的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23010661/
我对机器学习有一点了解,想自己实现一个学习系统,但不知道该怎么做。谁能给我一个演示或使用其他方法来比较人脸? 这是一个相关的帖子:https://stackoverflow.com/questions
这不是问题,但我很困惑什么 3D 空间对应什么。我习惯于听到模型、 View 、投影空间,但在我的工作中他们使用世界、眼睛、投影。我没有意识到 World 和 Eye 是模型和 View 的同义词,所
我是一名优秀的程序员,十分优秀!