[Queue] 1.优先队列PriorityQueue(非先进先出) 2.普通队列LinkedList的添加 遍历 删除 查看(先进先出)

1)实现之优先队列PriorityQueue(传入排序规则) // 因此这种并不是先进先出

package org.example.testPriorityQueue;

import java.util.PriorityQueue;
import java.util.Queue;

public class Main {
    public static void main(String[] args) {
        Queue<Integer> queue = new PriorityQueue<>((v1, v2) -> v2 - v1);
        queue.add(3);
        queue.add(34);
        queue.add(354);
        queue.add(31);
        queue.add(23);
        queue.add(4243);
        queue.add(1756733);
        queue.add(113);

        System.out.println(queue);
    }
}

/*
[1756733, 113, 4243, 31, 23, 34, 354, 3]
 */

2)Queue队列的使用1.offer添加 2.forEach遍历 3.poll删除 4.peek查看 // 先进先出

package org.example.testQueue;
 
import java.util.LinkedList;
import java.util.Queue;
 
public class TestQueue {
    public static void main(String[] args) {
        // step1:offer往队列添加元素。 add方法在队列满时会抛出异常
        Queue<String> queue = new LinkedList<>();
        queue.offer("a");
        queue.offer("d");
        queue.offer("c");
        queue.offer("b");
        queue.offer("b");
        queue.offer("e");
 
        // step2:增强for循环遍历
        queue.forEach(v -> System.out.println(v));
 
        // step3:poll删除一个元素。  remove方法在queue中没有元素时会抛出异常
        System.out.println();
        queue.poll();
        queue.forEach(v -> System.out.println(v));
 
        // step4: peek查看头的元素。element方法可能会抛出异常
        System.out.println();
        System.out.println(queue.peek());
 
    }
}
 
/*
a
d
c
b
b
e
d
c
b
b
e
d
 */

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值