java LinkedBlockingQueue 头部插入数据
时间: 2024-06-13 12:06:26 浏览: 114
LinkedBlockingQueue是Java中的一个阻塞队列,它实现了BlockingQueue接口,可以用于多线程环境下的数据共享。LinkedBlockingQueue的特点是先进先出,支持队列的头部和尾部插入、删除操作。如果队列已满,插入操作将会被阻塞,直到队列中有空间为止;如果队列为空,删除操作将会被阻塞,直到队列中有数据为止。
要在LinkedBlockingQueue的头部插入数据,可以使用put()方法,该方法会将指定的元素插入到队列的尾部,如果队列已满,则会一直阻塞,直到队列中有空间为止。因此,如果要在头部插入数据,可以先将队列中的元素全部取出来,然后再将新元素插入到队列的头部,最后再将之前取出的元素重新插入到队列的尾部。
以下是Java LinkedBlockingQueue头部插入数据的示例代码:
```java
LinkedBlockingQueue<String> queue = new LinkedBlockingQueue<String>(3);
queue.put("A");
queue.put("B");
queue.put("C");
System.out.println("队列中的元素:" + queue); // 输出:队列中的元素:[A, B, C]
String first = queue.take(); // 取出队列中的第一个元素
queue.put("D"); // 将新元素插入到队列的头部
queue.put(first); // 将之前取出的元素重新插入到队列的尾部
System.out.println("队列中的元素:" + queue); // 输出:队列中的元素:[D, B, C, A]
```
阅读全文