首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JAVA Queue行列

2012-10-08 
JAVA Queue队列Person类public class Person {@Overridepublic String toString() {return this.getName()

JAVA Queue队列

Person类public class Person {         @Override    public String toString() {         return this.getName()+" "+this.getAge();    }    private String name;       private int age;         public Person(String name, int age) {           this.age = age;           this.name = name;       }         public String getName() {           return name;       }         public void setName(String name) {           this.name = name;       }         public int getAge() {           return age;       }         public void setAge(int age) {           this.age = age;       }   } 比较器类import java.util.Comparator;public class Comparator1 implements Comparator{  private int compare(String name1, String name2){  return name1.compareTo(name2); }  private int compare(int age1, int age2){  if(age1 > age2)   return 1;  else if(age1 == age2)   return 0;  else   return -1; }  public int compare(Person p1, Person p2) {//接口的方法  String name1 = p1.getName();  String name2 = p2.getName();    int age1 = p1.getAge();  int age2 = p2.getAge();    return (compare(name1, name2) == 0 ? compare(age1, age2) : compare(name1, name2)); } } 测试类import java.util.Iterator;import java.util.PriorityQueue;public class Tester {  public static void main(String[] args) {           Person p1 = new Person("a", 4);           Person p2 = new Person("b", 2);           Person p3 = new Person("c", 1);           Person p4 = new Person("a", 1);           Person p5 = new Person("a", 6);           Person p6 = new Person("a", -1);                    PriorityQueue pq = new PriorityQueue(20 ,new Comparator1());        pq.add(p1);           pq.add(p2);           pq.add(p3);           pq.add(p4);           pq.add(p5);           pq.add(p6);                   Iterator it = pq.iterator();        while(it.hasNext()){         System.out.println(it.next());        }                while(!pq.isEmpty()){         System.out.println(pq.poll());//前面对toString()进行了重载         System.out.println("sdfsd");        }//这里要注意,对优先队列用迭代器遍历,顺序不是按照优先队列的顺序输出    }  }

?

热点排行