注意描述:一个是插入队列(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. mysql 数据迁移

    最近线上系统新挂了一次磁盘,需要将系统磁盘下的 mysql 数据目录迁移到 数据盘上. 经过一番考察,mysql在安装时,使用了预编译的二进制tar.gz包.共有两处配置了 datadir属性 /et ...

  2. Bluedroid: 音频数据的传输流程

    一. UIPC:   Audio Flinger获取到a2dp的hw module,然后蓝牙协议栈有专用于发送和接收media数据的线程,名称:btif_media_task.   蓝牙与Audio的 ...

  3. 深入理解java虚拟机---lanmbda表达式简介(三)

    1.lanmbda表达式使用  lanbmda表达式的作用: A: 取代内部类 B;增加对集合的操作,从而增强其性能

  4. datatabale 服务器分页

    转载:http://blog.csdn.net/angelvyvyan/article/details/51783272$(document).ready( function() { $('#tabl ...

  5. 在JS文件中,不需要<script>标签

    在JS文件中,不需要<script>标签\

  6. 用Filter实现图片防盗链

    首先继承自FilterAttribute类同时实现IActionFilter接口,代码如下: //// <summary> /// 防盗链Filter. /// </summary& ...

  7. L313 珊瑚裸鼠灭绝

    This week the Australian government declared the extinction of a tiny rodent called Bramble Cay melo ...

  8. VC下CString类型与int 、float等数据类型的相互转换

    一.常用转换 1. CString --> int转换 CString str("1234");    int i= _ttoi(str); 2. CString --> ...

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

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

  10. 通过日志关键字检测判断obb程序是否工作正常

    C118+Osmocom-bb 多机 gsm sniff环境,经常发生工作一段时间后,某个手机监听的arfcn就不工作了. 检查日志发现,日志最后有连续的多条:TOA AVG is not 16 qb ...