问题标签 [arraydeque]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 更改 ArrayDeque 中元素的值
现在我遇到了 ArrayDeque 指定元素的问题。
首先是存储类型。下一层,最后一层是doorNumber。
现在我想将特定的 ArrayDeque 元素更改Floor
为另一个元素。
例如从第二个列表项
到
有我的主要课程
有存储类
Ps 不要因为我的语法来评判我,英语不是我的母语^^
java - Java - 在 Deque 的中间或除前端/末端以外的任何位置插入元素
在我看来,没有办法在 O(1) 时间内在 Deque 类的中间某处插入元素。我想在哈希表中维护对双端队列中特定节点的引用,如果我需要删除这个节点,我只需转到它的 prev 并设置 prev.next=this.next 和类似的 this.next.prev =prev 并删除这个当前元素。
但是如果我有一个双端队列
这些都不会提供这个。
有没有替代方案?如果我必须实现自己的双向链表,有没有一种方法可以通过扩展 ArrayDeque 已经完成的功能来消除,这样我就不必重写插入等的代码?...据我所知...我不这么认为 :( :(
java - 2d Arraydeque 插入
我正在使用arraydeque 来存储另一个整数类型的arraydeque。我的代码如下所示:
当我尝试运行它时,它会在 grid.add(columns) 上给我一个 NullPointerException。有谁知道我做错了什么?另外,如果有更好的方法可以做到这一点,请告诉我。
谢谢
java - 如何将 ArrayDeque 放入 JRI 并使用 R 进行一些预测
我有一个计算器,我将用它来做一些预测。我正在运行 JRI,最后一件事是从 ArrayDeque 中获取数据并将其交给 JRI 以完成其工作。我正在考虑这样的事情,但它不起作用:
任何帮助将不胜感激。提前致谢。
java - 为什么列表优先于队列?
作为开发人员,他们关心的每个人都必须面临这样的要求:您需要可调整大小的集合,您可以在其中添加、删除、检索 (FIFO)。
在我看到的每个应用程序中,我都使用 List(ArrayList) 来满足这个要求,但我的问题是为什么开发人员不选择 Queue(probably ArrayDeque) 。根据我目前的理解,我发现 ArrayList(List) 和 ArrayDeque(Queue) 对于我所说的要求同样适用。但是我在我的职业生涯中仍然没有发现队列,总是只找到列表。
所以我的问题是为什么不优先使用队列而不是列表。我相信一定有某种原因,但不知何故我错过了这种理解?
更新:-这是我的明确要求
1)加法发生在最后,应该很快。可能 O(1)
2)迭代应该很快
3)查找和删除任何特定元素应该更快。
按照上述要求,我认为 Arralist 比 ArrayDeque 更有意义。这是我的逐点理由
1) Arraylist 和 ArrayDeque 都是 O(1) 。对?
2)两者的迭代性能相同,因为它将基于 index 。对于 ArrayDeque 索引将基于时间戳,而对于 arraylist 用户可以明确提及索引。对?
3) 两者都是 O(1),因为查找将基于 om 索引进行
java - 在 ArrayDeque (Java) 中交换对象
如果我有一个 ArrayList,我可以使用 Collections.swap(list, indexA, indexB) 交换两个对象。
ArrayDeque 有类似的东西吗?
java - 滑动窗口:实现和性能(Java)
我想实现一个非常简单的滑动窗口。换句话说,我将有某种列表,其中包含从该列表的右端插入并从左端删除的对象。在每次插入中,先前的对象都会左移一个索引。当列表被对象填充时,在从右端每次插入时,都会从左端删除一个对象(当然,之前的对象将像往常一样左移一个索引)。
我想到的是 LinkedList 或 ArrayDeque - 可能后者是更好的选择,因为据我所知,对于 ArrayDeque,插入和删除到/从任一端都是持续的努力 O(1),但事实并非如此对于链表。那正确吗?
此外,我想问以下问题:当我插入一个新对象时,左移存储在滑动窗口中的所有先前对象对于像我这样具有 100,000 甚至 1,000,000 个对象的大型滑动窗口来说是处理密集型的。是否有任何其他数据结构可能在我的应用程序中表现更好?
注意:我使用术语“滑动窗口”来表示我想要实现的功能,也许还有其他一些术语可以更好地描述它,但我认为从上面的描述中我想清楚我想要做什么。
java - 在Java中的某种列表或队列中移动指针而不是对象
Java 提供了 List 接口的 LinkedList 实现,它实际上是一个双向链表。如果我们执行以下操作:
接着:
我们实际上从链表中删除对象 obj 并从右端(尾部)重新插入它。
我们还可以手动实现带有节点、头和尾的链表。在诸如 C++ 等具有一些低级特性的语言中,可以使用指针指向 obj 对象的下一个和上一个对象。因此,我们实际上不必删除该项目,而只需更新前一个和下一个指针。
Java中是否有任何数据结构可以产生相同的效果(因此仅删除对象本身的“指针”可以获得相同的性能增益)?
请注意,我想使用现成的数据结构,而不是手动编写我的一个链表实现(并且可能重新发明轮子)。此外,请注意它不一定是链表 - 例如,它可能是某种队列,例如 ArrayDeque。
编辑:换一种说法,如果 Java 中 List 接口的 LinkedList 实现在内部使用了 prev 和 next 指针,那么为什么 l.remove(obj) 是 O(n) 而不是 O(1)?因此在实践中,当您有一个包含数百万个对象的 LinkedList(如我的情况)时,执行此删除和重新插入需要很长时间?(与 ArrayList 相同,与 ArrayDeque 相同 - 很长时间)。
java - ArrayDeque 中 addfirst 和 offerFirst 方法的区别
addFirst
已经尝试了一个示例程序来了解 Java 6和offerFirst
方法之间的区别ArrayDeque
。但它们似乎是相同的,有什么建议吗?
java - 在 Java 中使用 ArrayDeque 和 Threads 完成作业?
这是我的问题
一家健康中心雇佣了两名医生,每天最多检查和治疗 25 名患者。两名医生中的任何一名医生都会对患者进行检查和治疗。每个病人都必须登记自己的名字,以便医生按照先到先得的原则检查和治疗病人。
练习2 Part a:针对上面提到的场景2,开发一个程序,创建病人和医生(都是线程)。患者排队登记,医生在先到先得的基地从同一队列中挑选患者并检查和治疗他们。使用非线程安全的队列(例如 ArrayDeque)。确保您的程序没有同步问题。
B 部分:使用线程安全的队列(例如 ArrayBlockedQueue)并检查您的解决方案是否存在同步问题。(确保您的解决方案不提供同步方法或同步块)
这是我的代码
}
}
这是我运行它时遇到的错误。
在 lab8.LAB8.main(LAB8.java:50) Java 结果中 java.util.ArrayDeque.removeFirst(ArrayDeque.java:278) 的线程“main”java.util.NoSuchElementException 中的异常结果:1
我现在只在尝试 A 部分。