用java实现一个简单队列-阿里云开发者社区

开发者社区> 负债程序猿> 正文

用java实现一个简单队列

简介: 本文demo基于数组实现,主要用来帮助理解队列先进先出的特点
+关注继续查看

本文demo基于数组实现,主要用来帮助理解队列先进先出的特点

public class MyArrayQueue {
    //声明一个数组,int、Integer都行,这里用Integer是因为不想看到int的默认值0
    private Integer[] arr;
    //声明一个变量index来记录当前下标
    private int index = 0;

    public MyArrayQueue(Integer size) {
        //实例化数组时的容量
        this.arr = new Integer[size];
    }

    public MyArrayQueue() {
        //没有指定容量的话默认为5
        this.arr = new Integer[5];
    }

    //放入元素
    public void add(int p) {
        arr[index++] = p;
    }

    //取出头部元素
    public int get() {
        return arr[0];
    }

    //取出头部元素并删除
    public int getAndRemove() {
        int res = this.arr[0];
        //将数组元素往前平移
        for (int i = 1; i < this.arr.length; i++) {
            arr[i - 1] = arr[i];
        }
        //记得下标-1
        index--;
        return res;
    }

    //打印当前数组
    public void switchArr() {
        for (int i = 0; i < this.arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}

测试:

    public void myQueueTest(){
        MyArrayQueue queue = new MyArrayQueue(8);
        queue.add(1);
        queue.add(3);
        queue.add(5);
        queue.add(7);
        queue.add(9);
        System.out.println(queue.getAndRemove());//取出头部元素并删除,应该返回1
        System.out.println(queue.get());//这次应该返回3,因为1已经被删除了
        queue.switchArr();//再来看看当前数组内元素
    }

结果:

1

3

3 5 7 9 null null null null

打完收工

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10081 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12072 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13885 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9160 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4504 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7365 0
+关注
负债程序猿
知道的越多,不知道的越多
119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载