我有一个强大的python背景和一个Java的新手,所以我尝试用java中的 Pythonic 方式做事并最终挣扎。目前我有一个问题,要弄清楚如何做坐标索引的商店对象,以便它们是可迭代的。我可能创建一个对象的二维数组,但我担心这需要大量的内存 AND 我必须每次迭代所有索引(当我偶尔只想做它时)获取所有对象。
在python中,我会使用带元组的字典作为键,但在Java中看起来不可能这样。
E.g。
class bar()
pass
bar1 = bar()
bar2 = bar()
# etc
foo = { (0,1): bar1, (100,30): bar2 }
for x in foo.values():
do_something()
答案 0 :(得分:1)
不要犹豫记忆(不是现在,也许是以后)
Java等效“class”是Map。由于Map是一个接口,暂时使用HashMap类。
Map有一个方法values()来获取地图的所有值。
由于您的密钥不是标量,您可以创建自己的Coordinate类。请注意覆盖equals() and hashCode()。