我正在开发一个程序,我可以使用大量数据。 说了很多,我的意思是多达100万个物体。 我的程序工作正常,但我需要实现一个获取任何方法 通过给予任何位置这些对象。 我只是演示它:
e.g。我有1000个立方体(3D空间)。所有这些立方体都被放入 一个HashMap。每个对象的关键是它的位置。 但是当我移动我的对象时,对象的位置会发生变化,但是我的Key不会。 所以我想要的是为Map中的任何Object设置一个Key,它通过改变Object的变量来改变,或者等于我的Object中的一个变量。 那是我的问题。有谁知道如何处理这个问题或有没有人有任何解决方案? 或者Java中还有其他任何可以解决我问题的数据结构吗?
答案 0 :(得分:0)
您可以使用与数据库的连接。
例如,使用Oracle,您可以创建表
Cubes(id, position, attribute_1, ..., attribute_n)
,并进行操作
select * from cubes order by position;
无论何时,您都可以更新多维数据集的位置。
修改:如果您不想使用数据库
你可以用arraylists来做。
ArrayList<Cube> myCubes = new ArrayList<>();
你可以命令他们用这种方式覆盖方法:
Collections.sort(myCubes, new Comparator()) {
@Override
public int compare(Cube c1, Cube c2) {
return new Integer(c1.getPosition()).compareTo(new Integer(c2.getPosition()));
}
}