Hashmap-Key 值应该改变
Hashmap-Key value should change
我正在编写一个程序,我有很多数据要处理。
说了很多,我的意思是多达 100 万个对象。
我的程序运行良好,但我需要实现一种方法来获取任何
这些对象通过给任何位置。
我只是演示一下:
例如我有 1000 个立方体(3D Space)。所有这些立方体都被放入
一个哈希图。每个对象的键是它的位置。
但是当我移动我的对象时,对象的位置会改变,但我的钥匙不会。
所以我想要的是为地图中的任何对象设置一个键,该键通过更改对象的变量而改变,或者等于我的对象中的变量。
那是我的问题。有谁知道如何处理这个问题或有任何解决方案吗?
或者 Java 中是否还有其他数据结构可以解决我的问题?
您可以使用与数据库的连接。
例如,使用 Oracle,您可以创建 table
Cubes(id, position, attribute_1, ..., attribute_n)
,并进行操作
select * from cubes order by position;
您可以随时更新立方体的位置。
编辑:如果不想使用数据库
你可以用数组列表来做。
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()));
}
}
我正在编写一个程序,我有很多数据要处理。 说了很多,我的意思是多达 100 万个对象。 我的程序运行良好,但我需要实现一种方法来获取任何 这些对象通过给任何位置。 我只是演示一下:
例如我有 1000 个立方体(3D Space)。所有这些立方体都被放入 一个哈希图。每个对象的键是它的位置。 但是当我移动我的对象时,对象的位置会改变,但我的钥匙不会。 所以我想要的是为地图中的任何对象设置一个键,该键通过更改对象的变量而改变,或者等于我的对象中的变量。 那是我的问题。有谁知道如何处理这个问题或有任何解决方案吗? 或者 Java 中是否还有其他数据结构可以解决我的问题?
您可以使用与数据库的连接。
例如,使用 Oracle,您可以创建 table
Cubes(id, position, attribute_1, ..., attribute_n)
,并进行操作
select * from cubes order by position;
您可以随时更新立方体的位置。
编辑:如果不想使用数据库
你可以用数组列表来做。
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()));
}
}