要使用哪个阵列?

时间:2010-12-13 19:47:01

标签: java arrays data-structures

我正在设计一个新的影院预订系统,每个屏幕上有4个屏幕,每个屏幕都有不同数量的座位。

我需要知道什么ARRAY或什么数据结构最适合在屏幕上添加和删除他们想要的人。

我相信我需要一个二维阵列结构,但是非常感谢任何帮助!...谢谢

4 个答案:

答案 0 :(得分:2)

你应该做的是构建一个类结构,它将抽象出你在内存中存储数据的方式。您可以执行以下操作:

class Cinema {

    List<Auditorium> screens;

}

class Auditorium {
    int number;
    List<SeatRow> rows;

}

class SeatRow {
    int rowNumber
    List<Seat> seats;

}

class Seat {
    int seatNumber;
    boolean occupied;
}

注意:这不是唯一的解决方案。您可能希望将Seats存储在Map或其他一些数据结构中。

答案 1 :(得分:0)

ArrayList是一个很好的简单数组类型列表,允许添加和删除。

如果您愿意,可以创建一个数组数组。这将是一个2维数组。

答案 2 :(得分:0)

听起来像是同一数据结构的4个实例。可能是包含席位集合的Screen对象集合。

答案 3 :(得分:0)

我个人投票支持上面建议的简单Seat[][]类结构数组。没有理由使用另一个数组,因为数组大小可能永远不会改变,如果可以在初始化时完成。然后只需在某个位置显示或不显示屏幕上的数据,或者null显示未预留的座位。

根据您的需要(您是否需要记住客人预订的位置?),您甚至可以使用boolean[][]作为最低要求。

无论如何,只需创建并命名四种不同的Seat 2D阵列。最好将它们放在一个单独的类中,并有固定器和吸气剂。