peek java linkedlist_Java LinkedBlockingQueue peek()用法及代码示例

LinkedBlockingQueue的peek()方法返回LinkedBlockingQueue的头。它检索LinkedBlockingQueue头的值,但不删除它。如果LinkedBlockingQueue为空,则此方法返回null。

用法:

public E peek()

返回值:此方法返回LinkedBlockingQueue的头部。

以下示例程序旨在说明LinkedBlockingQueue类的peek()方法:

示例1:使用peek()方法返回LinkedBlockingQueue的头,其中容量7的LinkedBlockingQueue包含名称列表

// Java Program Demonstrate peek()

// method of LinkedBlockingQueue

import java.util.concurrent.LinkedBlockingQueue;

public class GFG {

public static void main(String[] args)

{

// define capacity of LinkedBlockingQueue

int capacityOfQueue = 7;

// create object of LinkedBlockingQueue

LinkedBlockingQueue linkedQueue

= new LinkedBlockingQueue(capacityOfQueue);

// Add element to LinkedBlockingQueue

linkedQueue.add("John");

linkedQueue.add("Tom");

linkedQueue.add("Clark");

linkedQueue.add("Kat");

// find head of linkedQueue using peek() method

String head = linkedQueue.peek();

// print result

System.out.println("Queue is " + linkedQueue);

// print head of queue

System.out.println("Head of Queue is " + head);

// removing one element

linkedQueue.remove();

// again get head of queue

head = linkedQueue.peek();

// print result

System.out.println("\nRemoving one element from Queue\n");

System.out.println("Queue is " + linkedQueue);

// print head of queue

System.out.println("Head of Queue is " + head);

}

}

输出:

Queue is [John, Tom, Clark, Kat]

Head of Queue is John

Removing one element from Queue

Queue is [Tom, Clark, Kat]

Head of Queue is Tom

示例2:查找包含员工列表的LinkedBlockingQueue的头

// Java Program Demonstrate peek()

// method of LinkedBlockingQueue

import java.util.concurrent.LinkedBlockingQueue;

public class GFG {

public void findPeek()

{

// define capacity of LinkedBlockingQueue

int capacityOfQueue = 7;

// create object of LinkedBlockingQueue

LinkedBlockingQueue linkedQueue

= new LinkedBlockingQueue(capacityOfQueue);

// Add element to LinkedBlockingQueue

Employee emp1 = new Employee("Ravi", "Tester", "39000");

Employee emp2 = new Employee("Sanjeet", "Manager", "98000");

// Add Employee Objects to linkedQueue

linkedQueue.add(emp1);

linkedQueue.add(emp2);

// print head then remove element

// and follow same process again

// until the queue becomes empty

while (linkedQueue.size() != 0) {

// find head of linkedQueue using peek() method

Employee head = linkedQueue.peek();

// print results

System.out.println("Head of list");

System.out.println("Employee Name : " + head.name);

System.out.println("Employee Position : " + head.position);

System.out.println("Employee Salary : " + head.salary);

linkedQueue.remove();

if (linkedQueue.size() != 0)

System.out.println("\nRemoving one element from Queue\n");

}

}

// 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.findPeek();

}

}

输出:

Head of list

Employee Name : Ravi

Employee Position : Tester

Employee Salary : 39000

Removing one element from Queue

Head of list

Employee Name : Sanjeet

Employee Position : Manager

Employee Salary : 98000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值