Java数组随机存储对象

标签 java arrays multithreading data-structures

数组代表 parking 场的空闲座位。现在汽车(线程)随机 parking 然后离开。

我如何知道哪些插槽是免费的?我是否必须每次迭代数组才能找到空闲插槽,或者是否有更好的解决方案?是否可以创建第二个数组并仅存储其中的免费索引?

我应该使用与数组不同的数据结构吗?

最佳答案

Do I have to iterate the Array each time to find a free slot

您不必无休止地遍历数组来检查空闲插槽。

让汽车在离开插槽时通知您其索引。当一辆车即将进入时,读取数组中的空闲槽位。输入后,标记索引。

您可能有一个实现 Runnable 的 Car 对象:

class Car implements Runnable{
    private int pos;    //index of array
}

通知可以使用观察者模式来实现,您可以在其中维护汽车列表。当汽车离开时,通知其观察者。

关于Java数组随机存储对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47099441/

相关文章:

arrays - 如何使用基本的SAS宏阵列?

java - 如何从Jform调用另一个线程运行方法

java - Java 中的强不变性与弱不变性?

Java 正则表达式 : How to reuse a consumed character in pattern matching?

java - 如何修改JPanel

javascript - 如何在 javascript 中保持对象不可变的数组?

javascript - 初始化一个可能无限的数组?

java - 如果条件明显为真,则 if-else block 不会返回 true,我该怎么办?

android - onTouch 和 onClick 监听器的区别和多线程的使用

java - Android 的 StrictMode - 如何正确使用它,为什么没有它我的应用程序无法运行?