如何在坐标平面上制作对象?[爪哇]



如果我有一个名为cell的类,如何在坐标平面中创建单元格对象?(即单元格 1,1 在 x = 1 和 y = 1 处)。我需要能够访问飞机中的某些单元格(即在 2、4 处调用单元格并从中获取信息)。我在考虑能够以像cell[x,y]这样的方式调用它。

与周围的单元格相比,单元格具有不同的状态,因此我需要一种方法来调用坐标平面中的特定单元格。

您可以创建具有属性 x 和 y 的类单元格

public class Cell {
    private int x;
    private int y;
    public Cell(int x, int y) {
        this.x = x;
        this.y = y;
    }
    // Getter and setter as needed
}

要知道特定点是否存在Cell,您可以使用不同的方法:

  • 使用Cell的二维数组
  • 使用Map<String, Cell>,其中字符串是格式为 x + "$" + y
  • 创建Coordinate类并使用Map<Coordinate, Cell>

在二维数组和 Map 之间进行选择取决于矩阵的稀疏程度。如果您的 x 和 y 范围非常大,并且很少有单元格使用 Map,相反,如果您的坐标范围相对较小,请使用二维数组。

请注意,创建 Coordinate 类时,您需要记住重写 .equals().hashCode() 方法。

最新更新