注意描述:一个是插入队列(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,一个是出队在头部入队不一定追加到末尾的更多相关文章

  1. 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 **** ...

  2. JVM系列文章(四):类载入机制

    作为一个程序猿,只知道怎么用是远远不够的. 起码,你须要知道为什么能够这么用.即我们所谓底层的东西. 那究竟什么是底层呢?我认为这不能一概而论.以我如今的知识水平而言:对于Web开发人员,TCP/IP ...

  3. 为什么工具类App,都要做一个社区?

    非著名程序员涩郎 非著名程序员,字耿左直右,号涩郎,爱搞机,爱编程,是爬行在移动互联网中的一名码匠!个人微信号:loonggg,微博:涩郎,专注于移动互联网的开发和研究,本号致力于分享IT技术和程序猿 ...

  4. 一个非常标准的Java连接Oracle数据库的示例代码

    最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\ ...

  5. 用vue开发一个app(4,一个久等了的文章)H5直播平台登录注册(1)

    我上一篇关于vue的文章和这一篇时间隔了有点久了.最近终于写完了. 因为我一直想写个有点实绩的东西,而不是随便写一个教程一样东西.结合最近在项目中学到的经验和我的一点创意. 首先介绍下这是个什么! H ...

  6. 一个非常标准的连接Mysql数据库的示例代码

    一.About Mysql 1.Mysql 优点 体积小.速度快.开放源码.免费 一般中小型网站的开发都选择 MySQL ,最流行的关系型数据库 LAMP / LNMP Linux作为操作系统 Apa ...

  7. 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数。定义 Gymnastics 类和 School 类,它们都是 ComputerAverage 的子类。Gymnastics 类中计算选手的平均成绩的方法是去掉一个最低分,去掉一个最高分,然后求平均分;School 中计算平均分的方法是所有科目的分数之和除以总科目数。 要求:定义ComputerAv

    题目: 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数. 定义 Gymnastics 类和 School 类,它们都是 ComputerAverag ...

  8. 编写了几个Java类,但是一直运行某一个class,这种是因为:main方法写错

    编写了几个Java类,但是一直运行某一个class,这种是因为:main方法写错

  9. C# 中利用反射机制拷贝类的字段和属性(拷贝一个类对象的所有东西付给另一个类对象,而不是付给引用地址)

    from:https://blog.csdn.net/poxiaohai2011/article/details/27555951 //C# 中利用反射机制拷贝类的字段和属性(拷贝一个类对象的所有东西 ...

随机推荐

  1. vue安装与配置

    直接引入 <script src="https://unpkg.com/vue"></script> 用npm安装   $ npm install vue ...

  2. JavaScript简介及作用

    JavaScript是一门脚本语言,是可以插入HTML页面的编程代码,插入HTML以后可以由所有现代浏览器运行 一.写如html输出 <body> <script> docum ...

  3. 戴尔poweredge r730服务器配置及系统安装详解教程

    第一次给服务器安装的是ubantu系统: 首先我们开机进入小型BIOS设置一下RAID,或者进入服务器管理系统,在系统的BIOS中进行RAID设置: 开机后当看到出现< Ctrl > 时按 ...

  4. VSTO:使用C#开发Excel、Word【1】

    <Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >——By Eric C ...

  5. Iterator 与ListIterator的区别

    Iterator 与ListIterator的区别: 1.Iterator能够迭代Set和List集合的元素,而ListIterator只能迭代List集合的元素 2.Iterator只能前向迭代,L ...

  6. android 自定义命名空间 http://schemas.android.com/apk/res-auto

    XML中用 xmlns="http://schemas.android.com/apk/res-auto" 获取自定义属性值: public static String NAMES ...

  7. 20165326 java第二周学习笔记

    学习笔记 一.理论学习 基本数据类型与数组 标识符的第一个字符不能是数字:标识符不能为关键字. 基本数据类型多数与c语言相同.重点如下: 1.逻辑类型boolean赋值true/false 2.浮点数 ...

  8. mysql 数据类型day43

    数据类型 一数值类型 1 整数类型 默认是有符号的 unsigned 没有符号 zerofill0t 小整数 TINYINT [(m)] 1个字节 8bit 2**8 256 m 最多3位 最低 -1 ...

  9. MySQL:MySQL Workbench的使用

    MySQL Workbench 一.布局介绍 附:图片转自https://blog.csdn.net/qq_19891827/article/details/53995079 二.创建数据库 第一步: ...

  10. 解决 java.lang.ClassNotFoundException: javax.servlet.ServletContext报错

    原因:tomcat找不到servlet,即缺少了servlet-api.jar包 解决方法: 我的项目是用maven搭建的 在pom.xml中加入依赖 <dependency> <g ...