• java 队列的实现


    List<T> list = new LinkedList<>();
    Queue<String> queue = new LinkedList<String>();

    queue.offer("a");

    queue.offer("b");

    offer,add 区别:

    一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。

    这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。

    poll,remove 区别:

    remove() 和 poll() 方法都是从队列中删除第一个元素。remove() 的行为与 Collection 接口的版本相似, 但是新的 poll() 方法在用空集合调用时不是抛出异常,只是返回 null。因此新的方法更适合容易出现异常条件的情况。

    peek,element区别:

    element() 和 peek() 用于在队列的头部查询元素。与 remove() 方法类似,在队列为空时, element() 抛出一个异常,而 peek() 返回 null。

    import java.util.LinkedList;
    import org.junit.Test;
    public class QueueTest {
        //使用集合定义一个队列
        class Queue<T> {  
    //        List<T> list = new ArrayList<>(); 
            LinkedList<T> list =  new LinkedList<>();
            int size = 0;  //下标
    
            //入队
            public void in(T n){  
                //添加元素
                //list.add(n); 
            list.offfer(n); size
    ++; } //出队 public T out(){ if(!list.isEmpty()){ size--; return list.remove(0); // return list.removeFirst(); } return null; } } @Test public void testQueue() throws Exception { Queue<Integer> queue = new Queue<Integer>(); queue.in(1); queue.in(2); queue.in(3); queue.in(4); LinkedList<Integer> linkedList = queue.list; while(queue.size>0) { Integer out = queue.out(); System.err.println(out); } } }
  • 相关阅读:
    html,css,js实现的一个钟表
    CSS子元素在父元素中水平垂直居中的几种方法
    JavaScript去除字符串中的空格
    JavaScript判断数据类型的4中方法
    数据库的创建和删除
    MySql数据类型及对应存储空间
    配置hibernate常见问题
    java 获取系统变量(环境变量和设置变量)
    IDEA创建Web项目(基于Maven多模块)
    spring boot快速搭建
  • 原文地址:https://www.cnblogs.com/lshan/p/12363726.html
Copyright © 2020-2023  润新知