黑马程序员技术交流社区

标题: 【西安校区】用自定的ArrayList实现队列 [打印本页]

作者: 逆风TO    时间: 2020-5-11 10:51
标题: 【西安校区】用自定的ArrayList实现队列
队列的核心为先进先出,即先入队的元素先出队,在之前手写的ArrayList中添加了删除方法实现了队列
[Java] 纯文本查看 复制代码

/**
* 在之前自定义的动态数组基础上完成队列,动态数组中要添加删除方法
*
* @author 大刘
*/
public class Queue <E>{
    private ArraysList<E> arraysList;

    /**
     * 入队方法
     * @param e 入队元素
     */
    public void enqueue(E e){
        arraysList.add(e);
    }

    /**
     * 出队方法 取出对头元素
     * @return
     */
    public E dequeue(){
        return arraysList.removeFirst();
    }

    public boolean isEmpty(){
        return arraysList.isEmpty();
    }

    /**
     * 查看队头元素
     * @return
     */
    public E getHead(){
        return arraysList.get(0);
    }

    public int size(){
        return arraysList.size;
    }

}

还有之前补充的删除方法
[Java] 纯文本查看 复制代码
 private E remove(int index){
        if(size==0){
            throw new IndexOutOfBoundsException("数组空");
        }
        if(index<0||index>array.length){
            throw new IllegalArgumentException("索引违法");
        }
        E e=array[index];
        for(int i=index;i<size;i++){
            array=array[i+1];
        }
        size--;
        return e;
    }

    public E removeFirst(){
        return remove(0);
    }

    public E removeLast(){
        return remove(size-1);
    }


转载自CSDN

作者: 杨雁蓉    时间: 2020-6-19 10:35
:kiss::lol:handshake




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2