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()));
    }
}