Java中的 LinkedBlockingQueue contains() 方法
如果队列包含作为参数传递的对象 obj,LinkedBlockingQueue 的contains(Object obj)方法将返回 true。当且仅当此队列包含至少一个等于作为参数 ieeequals(o) 传递的对象 o 的元素 e 时,它才返回 true。这个方法对于检查队列是否有元素非常有帮助。
句法:
public boolean contains(Object o)
参数:此方法需要一个强制参数o ,它是队列中要检查的对象。
返回值:如果此队列包含作为参数传递的对象,则此方法返回true 。否则返回false 。
下面的程序说明了 LinkedBlockingQueue 类的 contains() 方法:
程序1:检查数字队列中是否包含数字n。数字 n 作为输入传递给 LinkedBlockingQueue 的 contains()。
// Java Program Demonstrate contains(Object o)
// method of LinkedBlockingQueue
import java.util.concurrent.LinkedBlockingQueue;
public class GFG {
public static void main(String[] args)
{
// define capacity of LinkedBlockingQueue
int capacityOfQueue = 50;
// create object of LinkedBlockingQueue
LinkedBlockingQueue linkedQueue
= new LinkedBlockingQueue(capacityOfQueue);
// Add element to LinkedBlockingQueue
linkedQueue.add(2300);
linkedQueue.add(1322);
linkedQueue.add(8945);
linkedQueue.add(6512);
// print LinkedQueue
System.out.println("linkedQueue: " + linkedQueue);
// check whether LinkedBlockingQueue contains 6512
boolean response1 = linkedQueue.contains(6512);
// print result
System.out.println("LinkedBlockingQueue contains "
+ "number 6512 : "
+ response1);
// check whether LinkedBlockingQueue contains 5324
boolean response2 = linkedQueue.contains(5324);
// print result
System.out.println("LinkedBlockingQueue contains"
+ " number 5324 : "
+ response2);
}
}
输出:
linkedQueue: [2300, 1322, 8945, 6512]
LinkedBlockingQueue contains number 6512 : true
LinkedBlockingQueue contains number 5324 : false
程序2:检查一个雇员队列中是否包含某个雇员e。员工 e 的详细信息作为输入传递给 LinkedBlockingQueue 的 contains()。
// Java Program Demonstrate contains(Object o)
// method of LinkedBlockingQueue.
import java.util.concurrent.LinkedBlockingQueue;
public class GFG {
// create an Employee Object with
// position and salary as an attribute
public class Employee {
public String name;
public String position;
public String salary;
Employee(String name, String position, String salary)
{
this.name = name;
this.position = position;
this.salary = salary;
}
@Override
public String toString()
{
return "Employee [name=" + name + ", position="
+ position + ", salary=" + salary + "]";
}
}
// Main Method
public static void main(String[] args)
{
GFG gfg = new GFG();
gfg.containsMethodExample();
}
public void containsMethodExample()
{
// define capacity of LinkedBlockingQueue
int capacity = 50;
// create object of LinkedBlockingQueue
LinkedBlockingQueue linkedQueue
= new LinkedBlockingQueue(capacity);
Employee emp1 = new Employee("Aman",
"Analyst",
"24000");
Employee emp2 = new Employee("Sachin",
"Developer",
"39000");
// Add Employee Objects to linkedQueue
linkedQueue.add(emp1);
linkedQueue.add(emp2);
// print LinkedQueue
System.out.println("linkedQueue: " + linkedQueue);
// Employee to be checked
Employee checkEmp1 = new Employee("Sanjeev",
"Tester",
"26000");
// check whether linkedQueue contains emp1
boolean response1 = linkedQueue.contains(emp1);
// print results
System.out.println("linkedQueue contains "
+ emp1.toString() + " : "
+ response1);
// check whether linkedQueue contains checkEmp1
boolean response2 = linkedQueue.contains(checkEmp1);
// print results
System.out.println("linkedQueue contains "
+ checkEmp1.toString() + " : "
+ response2);
}
}
输出:
linkedQueue:
[Employee [name=Aman, position=Analyst, salary=24000],
Employee [name=Sachin, position=Developer, salary=39000]]
linkedQueue contains Employee [name=Aman, position=Analyst, salary=24000] : true
linkedQueue contains Employee [name=Sanjeev, position=Tester, salary=26000] : false
参考:
https://docs.oracle.com/javase/8/docs/api/java Java