紧接着上篇文章,实现类一个是标准的FIFO,一个是出队在头部入队不一定追加到末尾


注意描述:一个是插入队列(1是可以插入尾部eg一遍的序列尾部追加,2是可以插入中间eg优先队列)
而移除的描素都是删除头部
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Queue; public class test {
private String name;
private int score;
public test(String name, int population){
this.name = name;
this.score = population;
}
public String getName(){
return this.name;
} public int getScore(){
return this.score;
} public String toString(){
return getName() + " : " + getScore(); //还有这种操作
}
/*以上的javabean结束*/
public static void main(String args[]){
Comparator<test> OrderIsdn = new Comparator<test>(){ //自己的意愿进行优先级排列的队列的话,
public int compare(test o1, test o2) { // 需要实现Comparator接口。
// TODO Auto-generated method stub
int numbera = o1.getScore();
int numberb = o2.getScore();
if(numberb > numbera){
return 1;
}else if(numberb<numbera){
return -1;
}else{
return 0;
}
}
};//比较器结束
/*见证面向接口编程的统一美*/
Queue<test> priorityQueue = new PriorityQueue<test>(11,OrderIsdn);
test t1 = new test("t1",80);
test t3 = new test("t3",88);
test t2 = new test("t2",99);
test t4 = new test("t4",87);
priorityQueue.add(t1);
priorityQueue.add(t3);
priorityQueue.add(t2);
priorityQueue.add(t4); // add可以添加到尾部,或者其他的如优先队列(就看实现类怎么实现)
System.out.println(priorityQueue);
//[t2 : 99, t4 : 87, t3 : 88, t1 : 80]
while(!priorityQueue.isEmpty())
System.out.println(priorityQueue.poll().toString());//移除都是头部
/**
* t2 : 99
t3 : 88
t4 : 87
t1 : 80
*/
Queue<Integer> q1 = new LinkedList<Integer>();
q1.add(10);
q1.add(8);
System.out.println("添加一个元素之后"+q1);
q1.add(9);
System.out.println("添加两个元素之后"+q1);
// q.add(1);
System.out.println("添加三个元素之后"+q1); while(!q1.isEmpty()){
q1.remove();
System.out.println("移除元素之后"+q1);
}
}
}
//Queue是一个抽象的,LinkedList是一个具体的实现类
Queue<Integer> q = new PriorityQueue<Integer>(); //默认的优先顺序
q.add(10);
q.add(8);
System.out.println("添加一个元素之后"+q);
q.add(9);
System.out.println("添加两个元素之后"+q);
//q.add(1);
System.out.println("添加三个元素之后"+q); while(!q.isEmpty()){
q.remove();
System.out.println("移除元素之后"+q);
}


紧接着上篇文章,实现类一个是标准的FIFO,一个是出队在头部入队不一定追加到末尾的更多相关文章
- PHP+jQuery 长文章分页类 ( 支持 url / ajax 分页方式 )
/* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8 **** ...
- JVM系列文章(四):类载入机制
作为一个程序猿,只知道怎么用是远远不够的. 起码,你须要知道为什么能够这么用.即我们所谓底层的东西. 那究竟什么是底层呢?我认为这不能一概而论.以我如今的知识水平而言:对于Web开发人员,TCP/IP ...
- 为什么工具类App,都要做一个社区?
非著名程序员涩郎 非著名程序员,字耿左直右,号涩郎,爱搞机,爱编程,是爬行在移动互联网中的一名码匠!个人微信号:loonggg,微博:涩郎,专注于移动互联网的开发和研究,本号致力于分享IT技术和程序猿 ...
- 一个非常标准的Java连接Oracle数据库的示例代码
最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\ ...
- 用vue开发一个app(4,一个久等了的文章)H5直播平台登录注册(1)
我上一篇关于vue的文章和这一篇时间隔了有点久了.最近终于写完了. 因为我一直想写个有点实绩的东西,而不是随便写一个教程一样东西.结合最近在项目中学到的经验和我的一点创意. 首先介绍下这是个什么! H ...
- 一个非常标准的连接Mysql数据库的示例代码
一.About Mysql 1.Mysql 优点 体积小.速度快.开放源码.免费 一般中小型网站的开发都选择 MySQL ,最流行的关系型数据库 LAMP / LNMP Linux作为操作系统 Apa ...
- 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数。定义 Gymnastics 类和 School 类,它们都是 ComputerAverage 的子类。Gymnastics 类中计算选手的平均成绩的方法是去掉一个最低分,去掉一个最高分,然后求平均分;School 中计算平均分的方法是所有科目的分数之和除以总科目数。 要求:定义ComputerAv
题目: 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数. 定义 Gymnastics 类和 School 类,它们都是 ComputerAverag ...
- 编写了几个Java类,但是一直运行某一个class,这种是因为:main方法写错
编写了几个Java类,但是一直运行某一个class,这种是因为:main方法写错
- C# 中利用反射机制拷贝类的字段和属性(拷贝一个类对象的所有东西付给另一个类对象,而不是付给引用地址)
from:https://blog.csdn.net/poxiaohai2011/article/details/27555951 //C# 中利用反射机制拷贝类的字段和属性(拷贝一个类对象的所有东西 ...
随机推荐
- redis:集群配置
一.redis集群相关 1.概念:redis集群是通过数据分区提供可用性的,这样即使一部分节点失效也可以继续处理请求. 2.原理:集群使用数据分片实现,一个redis集群包括16384个哈希槽,数据库 ...
- OO Summary Ⅳ
测试与正确性论证的效果差异 测试,或者说用断言进行黑箱测试,用大量的数据进行“覆盖性测试”,目的是当分支覆盖率达到100%也就是理论上来说所有可能的输入都已经测试过了,而输出结果均是正确的,那么我们理 ...
- vue-router-4-编程式导航
想要导航到不同的 URL,用 router.push 方法,会向 history 栈添加一个新的记录 <router-link> <==>router.push // 字符串 ...
- 前端基础之CSS属性
一.背景属性 <style> p { /*背景颜色*/ background-color: red; /*字体颜色*/ color: blue; /*宽度和高度*/ width: 600p ...
- 从mysql读取数据写入mongo
# coding:utf-8 # Created by qinlin.liu at 2017/3/14 import pymysql import datetime #pymongo说明文档 : h ...
- linux系统中不同颜色的文件夹及根目录介绍
文件颜色的代表含义: 蓝色:目录 绿色:可执行文件 红色:压缩文件 蓝绿色:链接文件 灰色:其他文件 黄色:设备文件,其中包括block,char,fifo. 白色:表示普通文件 红色闪烁:表示链 ...
- sass嵌套风格
1.嵌套输出方式 nested Sass 提供了一种嵌套显示 CSS 文件的方式.例如 nav { ul { margin:; padding:; list-style: none; } li { d ...
- Cracking The Coding Interview 5.5
#include <iostream> #include <vector> using namespace std; int getNum1(int N) { int num= ...
- put请求
Action(){ int HttpRetCode; //定义一个变量,用于接收HTTP返回的状态码 web_add_header("Session-Id", "a3ff ...
- table添加行
需求是要实现表格的动态增加与删除,并且保留标题行和首行,找了半天jq插件,没找到合适的,所以自己写了个demo <!DOCTYPE html> <html> <head& ...
