Java实现一个排序系统

package com.sortsystem;

/**
 * @ClassName User
 * @Description 排队的人
 * @Author Administrator
 * @Date 2019/5/30 21:10
 * @Version 1.0
 **/
public class User {
    private int Id;
    String name;
    int seq; // 排队的序号

    public User(int id, String name) {
        Id = id;
        this.name = name;
    }

    public int getId() {
        return Id;
    }

    public void setId(int id) {
        Id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getSeq() {
        return seq;
    }

    public void setSeq(int seq) {
        this.seq = seq;
    }

    @Override
    public String toString() {
        return "User{" +
                "name=‘" + name + ‘\‘‘ +
                ", seq=" + seq +
                ‘}‘;
    }
}

  

排序系统

package com.sortsystem;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;

/**
 * @ClassName SortSystem
 * @Description TODO
 * @Author Administrator
 * @Date 2019/5/30 20:52
 * @Version 1.0
 **/
public class SortSystem {
    Queue<User> queue = new LinkedList<>();

    /**
     * 入队
     * @param user
     */
    public void enQueue(User user) {
        queue.offer(user);
    }

    /**
     * 出队
     */
    public void deQueue() {
        if(queue.size() > 0) {
            queue.poll();
        }
        return;
    }

    /**
     * 某个人出队列
     * @param user
     */
    public void deQueue(User user) {
        queue.remove(user);
        updateSeq();
    }

    /**
     * 更新排号
     */
    public void updateSeq() {
        int i = 1;
        Iterator iterator = queue.iterator();
        while(iterator.hasNext()) {
            User u = (User)iterator.next();
            u.setSeq(i);
            i++;
        }
    }

    public void printList() {
        Iterator iterator = queue.iterator();
        while(iterator.hasNext()) {
            User u = (User)iterator.next();
            System.out.println(u);
        }
    }
}

  

测试

package com.sortsystem;

/**
 * @ClassName Main
 * @Description 排序系统的主类
 * @Author Administrator
 * @Date 2019/5/30 21:07
 * @Version 1.0
 **/
public class Main {

    public static void main(String[] args) {
        SortSystem sortSystem = new SortSystem();
        User u01 = new User(1, "person01");
        User u02 = new User(2, "person02");
        User u03 = new User(3, "person03");
        User u04 = new User(4, "person04");
        User u05 = new User(5, "person05");
        User u06 = new User(6, "person06");
        sortSystem.enQueue(u01);
        sortSystem.enQueue(u02);
        sortSystem.enQueue(u03);
        sortSystem.enQueue(u04);
        sortSystem.enQueue(u05);
        sortSystem.enQueue(u06);

        /**
         * 更新排序
         */
        sortSystem.updateSeq();
        sortSystem.printList();

        /**
         * 队列中某一个人离开
         */
        sortSystem.deQueue(u02);
        sortSystem.printList();

    }
}

  

原文地址:https://www.cnblogs.com/wylwyl/p/10952108.html

时间: 2024-08-30 15:17:36

Java实现一个排序系统的相关文章

用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中

我最近在用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中,第一次写项目,写过这类项目的多多提意见,哪方面的意见都行,有代码或者demo的求赏给我,谢谢

一个超漂亮的Java版博客系统,内置14套皮肤,已经转化为标准的Eclipse项目,直接导入即可

原文:一个超漂亮的Java版博客系统,内置14套皮肤,已经转化为标准的Eclipse项目,直接导入即可 源代码下载地址:http://www.zuidaima.com/share/1550463745002496.htm MrZhao只分享精品,话不多说,直接上图      - 为了压缩文件我把WEB-INF下面的lib包打包放在网盘下载地址:http://pan.baidu.com/s/1hqqqWOc - 把lib解压进去以后项目直接导入Eclise即可运行 - 数据库Mysql,确保一个新

【入门】在虚拟机上安装一个linux系统

根据计划,需要在虚拟机上安装一个linux系统,用作web架构学习的服务器. 公司项目的服务器用的是linux系统,具体版本未知.虽然我们开发不用关注最后的部署,但多少也接触了一些,算是有一定的了解,而java web通常也是部署在linux上,所以还是选择了linux.至于具体的版本,最终选择了centos. 虚拟机的选择,主要是VMware和VirtualBox了.由于VMware要收费,于是下载了VirtualBox.没想到创建系统时,没有linux64的选项.网上一查,需要打开bios的

java中的io系统详解

java中的io系统详解 分类: JAVA开发应用 笔记(读书.心得)2009-03-04 11:26 46118人阅读 评论(37) 收藏 举报 javaiostreamconstructorstringbyte 相关读书笔记.心得文章列表 Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他

OSGI(面向Java的动态模型系统)

基本简介编辑 OSGI服务平台提供在多种网络设备上无需重启的动态改变构造的功能.为了最小化耦合度和促使这些耦合度可管理,OSGi技术提供一种面向服务的架构,它能使这些组件动态地发现对方.OSGi联 OSGI 盟已经开发了为例如象HTTP服务器.配置.日志.安全.用户管理.XML等很多公共功能标准组件接口.这些组件的兼容性插件实现可以从进行了不同优化和使用代价的不同计算机服务提供商得到.然而,服务接口能够基于专有权基础上开发. 因为OSGi技术为集成提供了预建立和预测试的组件子系统,所以OSGi技

java web 程序---投票系统

1.这里会连接数据库--JDBC的学习实例 一共有3个页面. 2.第一个页面是一个form表单,第二个页面是处理数据,第三个页面是显示页面 vote.jsp ? 1 2 3 4 5 6 7 8 9 10 11 12 <body bgcolor="green">    选择你要投票的人:    <form action="vote_end.jsp">        <input type="radio" name=&q

如何设计一个RPC系统

版权声明:本文由韩伟原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/162 来源:腾云阁 https://www.qcloud.com/community RPC是一种方便的网络通信编程模型,由于和编程语言的高度结合,大大减少了处理网络数据的复杂度,让代码可读性也有可观的提高.但是RPC本身的构成却比较复杂,由于受到编程语言.网络模型.使用习惯的约束,有大量的妥协和取舍之处.本文就是通过分析几种流行的RPC实现案例,提供

利用java实现一个简单的远程监控程序

一般的远程监控软件都是用c或者c++等语言开发的,而使用java如何来实现相同的功能呢. 首先我们先介绍一下一个简单的远程监控程序的实现原理. 功能一,远程屏幕监视 (1) 必须要有监控端与被监控端,而且程序保持启动. (2) 被监控端获取本机的屏幕截屏发图给监控端. (3) 监控端在本地窗口中显示被监控端发送过来的图像. (4) (2)(3)步骤重复执行,这时在监控端即可实时监视到被监控端的桌面操作了. 功能二,远程控制 (1) 必须要有监控端与被监控端,而且程序保持启动. (2) 在监控端监

java之选择排序

 //选择排序(Select Sorting)也是一种简单的排序方法.它的基本思想是:第一次从R[0]-R[n-1]中选取最小值,与R[0]交换,第二次从R[1]-R[n-1]中选取最小值,与R[1]交换,第三次从R[2]-R[n-1]中选取最小值,与R[2]交换,...,第i次从R[i-1]-R[n-1]中选取最小值,与R[i-1]交换,...,第n-1次从R[n-2]-R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列. public st