我正在编写一个代码,我需要执行以下操作以继续进行
结构看起来像这样......
key value
20.0,40.0 1,2,3,4
21.0,22.0 5,6,7,8
输入: 20.0 40.0
输出 1,2,3,4
我真的不明白如何继续我曾尝试但我无法。我需要一些可以完成这项工作的代码片段.....
感谢您抽出时间回答我的问题。
答案 0 :(得分:1)
你可以建立两个代表的“结构” 关键和价值。
class Key {
public float x;
public float y;
Key(float x, float y) {
this.x = x;
this.y = y;
}
}
class value {
public int x;
public int y;
public int z;
public int w;
Key(int x, int y, int z, int w) {
this.x = x;
this.y = y;
this.z = z;
this.w = w;
}
}
用法:
HashMap<Key, Value> map;
map.put(new Key(20, 40), new Value(1,2,3,4));
根据您的约束,您还可以将这些类转换为元组模板,并实现变量元组长度。
修改强>
如果您正在访问哈希表/映射中的键,并且没有使用指向键对象的指针来获取它,则必须覆盖equals
和hashCode
。
我建议查看此堆栈溢出帖子:Java N-Tuple implementation
这里他们描述了使用equals
和hashCode
实现的可变长度元组实现。