java 模拟窗口排队
来源:互联网 发布:单类信息发布源码 编辑:程序博客网 时间:2024/06/08 15:10
public class MyQueue<T> {private LinkedList<T> q = new LinkedList<T>(); /** * 排队 * @param e */ public synchronized void put(T e) {//需要加上同步 q.addFirst(e); } /** * 插队 * @param index * @param e */ public synchronized void jumpPut(int index, T e){ q.add(index, e); } /** * 放弃排队 * @param index */ public void giveUp(int index){ q.remove(index); } /** * 排到窗口的人 * @return */ public T get(){ try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();} return q.removeLast(); } /** * 是否还有人 * @return */ public Boolean isEmpty(){ return q.isEmpty(); } @Override public String toString() { return q.toString(); } }
public class MyQueueTest {public static void main(String[] args) {MyQueue<String> mq = new MyQueue<String>();for(int i=0; i < 10; i++){//排队mq.put(i+"号");}//250号插队,插在6号后面mq.jumpPut(3, "250号");//7号放弃排队mq.giveUp(2);System.out.println("上班");while(!mq.isEmpty()){System.out.println("排队的人:"+mq.get());}System.out.println("下班");}}
执行上面代码输出结果为:
上班
排队的人:0号
排队的人:1号
排队的人:2号
排队的人:3号
排队的人:4号
排队的人:5号
排队的人:6号
排队的人:250号
排队的人:8号
排队的人:9号
下班
首先说下Java中的LinkedList,参考地址:http://blog.csdn.net/jzhf2012/article/details/8540543,在熟悉了LinkedList之后,在看上面的例子就更加容易理解了。
阅读全文
0 0
- java 模拟窗口排队
- 模拟银行窗口排队叫号系统的运作
- c++版模拟银行窗口排队叫号系统
- java模拟聊天窗口
- Java -- 队列(模拟银行的排队办理业务)
- 银行排队模拟
- 模拟打印机排队打印
- 模拟赛 排队
- 排队看病模拟
- 排队看病模拟
- 银行排队模拟
- 模拟银行排队系统
- 【数据结构】3、模拟银行窗口排队叫号系统——C++
- PAT 银行排队问题之单窗口“夹塞”版 (队列+模拟) -- 解题报告
- 4 银行排队问题之单队列多窗口加VIP服务 (30分)----模拟
- 5-41 银行排队问题之单队列多窗口服务<模拟>
- 第七周--排队看病模拟
- 项目5 排队看病模拟
- TypeScript开发环境搭建-Visual Studio Code
- 一个使用公钥签名与加密,使用密钥解密的案例。。。
- 来说说(Strategy)策略模式
- MyFlag Step13:后台代码编写、客户端具体功能实现以及界面优化
- 使用PyQt来编写第一个Python GUI程序
- java 模拟窗口排队
- ajax异步请求
- Kotlin入门资料搜集
- 大型网站技术架构:核心原理与案例分析
- [LibreOJ β Round]ZQC的游戏
- Python的字符串处理
- 某公司SQL Server 数据库备份方案
- centos7 源码安装git 和使用git
- css3之target选择器