Java中BlockingQueue contains()方法的示例
Java中的BlockingQueue(阻塞队列)是一个支持等待某项操作的队列,包括插入、删除等操作等待元素被插入或删除的特性。BlockingQueue接口中包含contains()方法,该方法用于判断BlockingQueue集合中是否包含指定元素。
BlockingQueue接口的定义
BlockingQueue接口继承自Queue接口,拥有各种类型的实现类,例如ArrayBlockingQueue,PriorityBlockingQueue,DelayQueue等。BlockingQueue接口定义如下:
public interface BlockingQueue<E> extends Queue<E> {
// 添加一个元素,如果队列已满,则等待空间被释放后再添加
void put(E e) throws InterruptedException;
// 移除并返回队列头部的元素,如果队列为空,则等待指定时间后再移除
E poll(long timeout, TimeUnit unit) throws InterruptedException;
// 返回队列中头部的元素,如果队列为空,则等待指定时间后再返回
E peek(long timeout, TimeUnit unit) throws InterruptedException;
// 向队列中添加元素,成功返回true,如果队列已满,则添加失败,返回false
boolean offer(E e, long timeout, TimeUnit unit) throws InterruptedException;
}
contains()方法的定义
contains()方法的定义如下:
boolean contains(Object o);
contains()方法用于返回此集合是否包含指定元素。如果集合包含指定元素,则返回“true”,否则返回“false”。集合中的元素用Object类型表示。
示例代码
下面是使用contains()方法的示例代码:
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
public class Main {
public static void main(String[] args) throws InterruptedException {
int capacity = 3;
BlockingQueue<String> queue = new ArrayBlockingQueue<>(capacity);
// 向队列中添加元素
queue.put("Learn");
queue.put("Java");
queue.put("With");
boolean isContainWith = queue.contains("With"); // 队列中是否包含"Now"元素
boolean isContainNow = queue.contains("Now");
System.out.println(isContainWith); // 输出:true
System.out.println(isContainNow); // 输出:false
}
}
在本示例中,我们使用了ArrayBlockingQueue作为BlockingQueue接口的实现类,并且限定队列的容量为3。通过put()方法向队列中添加三个元素“Learn”、“Java”以及“With”。然后我们使用contains()方法来判断队列中是否包含元素“With”和“Now”。其中isContainWith将会输出“true”,而isContainNow将会输出“false”。
结论
在BlockingQueue集合中,contains()方法用于判断集合中是否包含指定元素。contains()方法将会返回“true”,如果集合中包含指定元素,否则返回“false”。在判断之前,我们需要先向队列中添加元素。