我在java中使用的是一个LinkedBlockingQueue,我想在将一个元素释放给线程之前将其保留在队列中。换句话说,我想在元素离开队列之前设置一个延迟。
private LinkedBlockingQueue<String> testQue = new LinkedBlockingQueue<String>()
if ( position.equals("leader") ) {
//process this element as the last one
有可能这样做吗?
import java.util.List;
import java.util.ArrayList;
public class Test {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Deque queue = new Deque();
int random = (int
我正在寻找一种Java7数据结构,它的行为类似于java.util.Queue,而且还具有“最终项已被删除”的概念。
例如,下面这样的概念应该是可表达的:
while(!endingQueue.isFinished()) {
Element e = endingQueue.remove()
doSomethingWith(e);
}
我正在编写一个程序,用于计算字符串中每个字符的Huffman代码。
这是我的代码:
import java.util.Collections;
import java.util.PriorityQueue;
public class HuffmanCode{
PriorityQueue<Node> queue = new PriorityQueue<Node>();
PriorityQueue<Node> queueCopy = new PriorityQueue<Node>();
public void getCod
在我的java程序中,我使用priorityQueue作为最大堆实现。现在,我需要修改所创建的堆,以计算最大值。priorityQueue似乎没有实现堆化方法。所以我的问题是使用priorityQueue来处理这个问题吗?如果不是,在java中有任何有heapify方法的Max-堆的可靠实现吗?请注意,我的程序使用自己的比较器。所以这个实现应该支持这一点。
更多的解释是:
PriorityQueue<Customer> marginalGainHeap = new PriorityQueue<Customer>(
1, new Comparato
我有一个GUI,它接受一个条目,然后处理数据,但是我希望能够在队列中显示条目,然后在JList中显示它们。
我有包含JList和队列的GUI代码,但是我不知道如何链接它们并使JList成为队列的表示。
桂班:
public class ServerPlayergameMain extends javax.swing.JFrame implements Runnable {
public serverPlayerQueue serverQueue = new serverPlayerQueue();
Thread run;
public ServerPlayergameMa
是否有其他方法可以获取队列中的max元素(Java)?(请提供其他方法)
import java.util.*;
public class MaxQueueElement<E extends Comparable<E>> {
public MaxQueueElement(Queue<E> queue){
E max= queue.peek(); // initialize max with head of queue
for(E e : queue){
if(e.compareTo(m
我在追踪一个颜色列表。我只需要担心最后两种颜色添加到这个列表中。因此,这个队列应该是一个固定大小( 2)。
queue.add(color1);
queue.add(color2);
queue.add(color3); //adding color3 should automatically remove color1 from the queue.
//So the queue should now only contain 'color2' and 'color3'
对于这种类型的操作,Java有内置的Collection
我使用优先级队列按升序和降序存储元素,但当存在重复元素时,它不会按相同的顺序存储。
升阶
import java.util.*;
class PriorityQueueDemo {
public static void main(String args[])
{
PriorityQueue<Integer> pQueue
= new PriorityQueue<Integer>();
// Adding items to the pQueue using add()
pQueue.add(2);
pQueue.add(
我试图从LinkedNode队列中删除特定的元素。这是我从另一个方法中得到的,它只是移除和返回队列中的第一个节点(就像队列中应该的那样)。我的问题是如何进行编辑,以便删除索引x处的元素?我包括了javadoc psudocode,希望能有所帮助。
/**
* Removes and returns the element that is at place x in the queue.
* Precondition: x must be less than 5, x must be less than size
* Note: indexing from 0: 0 == front e
我正在学习编程和这个领域的新知识,因为我有机械的背景。昨天我收到了教授的问题陈述。他为我们提供了一个定制的Iterator,它被设计成交替地迭代给定的元素。
备用Iterator代码如下所示。
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;
public class AlternatingIterator<E> implements Iterator{
private final Queue<E> queue = new LinkedList<&
我有下一节课。
private static class Node {
public int id; // 0 indexed
public int distFromS;
Node(int id, int distFromS) {
this.id = id;
this.distFromS = distFromS;
}
}
我将Node的实例存储在PriorityQueue中并对它们进行操作.
PriorityQueue<Node> procQueue = new PriorityQueue<Node>()
因此,我目前正在编写一个方法来迭代一个目录和该目录中的所有目录:
public static Set<File> iterateDirectory(String dir){
Set<File> children = new HashSet<>();
File dirc = new File(Windows.home + dir);
File[] dircList = dirc.listFiles();
List<File> l = Arrays.asList(dircList);
for (File c :
我想模拟以下场景:多个使用者,生产者线程,用于将一些数据修改为
设置
BlockingQueue<String> q1 = new SynchronousQueue<String>();
BlockingQueue<String> q2 = new SynchronousQueue<String>();
Producer dataProducer = new Producer(q1); // publish to q1
Filter1 filter1 = new Filter1(q1, q2); // r