import java.util.Comparator;
import java.util.PriorityQueue;
public class TestPriorityQueue {
/* result:
component:zookeeper, priority:0
component:hdfs, priority:1
component:mapred, priority:2
*/
public static void main(String[] args) {
int MAX_COMPONETN_NUM = 20;
MyComponentComparator mcComparator= new MyComponentComparator();
PriorityQueue queue = new PriorityQueue(MAX_COMPONETN_NUM,mcComparator);
MyComponent zk = new MyComponent();
zk.setPriority(0);
zk.setName("zookeeper");
MyComponent hdfs = new MyComponent();
hdfs.setPriority(1);
hdfs.setName("hdfs");
MyComponent mapred = new MyComponent();
mapred.setPriority(2);
mapred.setName("mapred");
queue.add(hdfs);
queue.add(mapred);
queue.add(zk);
while(!queue.isEmpty()) {
MyComponent mc = (MyComponent)queue.poll();
System.out.printf("component:%s, priority:%d\n",mc.getName(),mc.getPriority());
}
}
static class MyComponent {
int priority;
String name;
int getPriority() {
return priority;
}
void setPriority(int priority) {
this.priority = priority;
}
String getName() {
return name;
}
void setName(String name) {
this.name = name;
}
}
static class MyComponentComparator implements Comparator{
@Override
public int compare(Object o1, Object o2) {
MyComponent m1= (MyComponent)o1;
MyComponent m2= (MyComponent)o2;
return m1.getPriority()-m2.getPriority();
}
}
}
import java.util.PriorityQueue;
public class TestPriorityQueue {
/* result:
component:zookeeper, priority:0
component:hdfs, priority:1
component:mapred, priority:2
*/
public static void main(String[] args) {
int MAX_COMPONETN_NUM = 20;
MyComponentComparator mcComparator= new MyComponentComparator();
PriorityQueue queue = new PriorityQueue(MAX_COMPONETN_NUM,mcComparator);
MyComponent zk = new MyComponent();
zk.setPriority(0);
zk.setName("zookeeper");
MyComponent hdfs = new MyComponent();
hdfs.setPriority(1);
hdfs.setName("hdfs");
MyComponent mapred = new MyComponent();
mapred.setPriority(2);
mapred.setName("mapred");
queue.add(hdfs);
queue.add(mapred);
queue.add(zk);
while(!queue.isEmpty()) {
MyComponent mc = (MyComponent)queue.poll();
System.out.printf("component:%s, priority:%d\n",mc.getName(),mc.getPriority());
}
}
static class MyComponent {
int priority;
String name;
int getPriority() {
return priority;
}
void setPriority(int priority) {
this.priority = priority;
}
String getName() {
return name;
}
void setName(String name) {
this.name = name;
}
}
static class MyComponentComparator implements Comparator{
@Override
public int compare(Object o1, Object o2) {
MyComponent m1= (MyComponent)o1;
MyComponent m2= (MyComponent)o2;
return m1.getPriority()-m2.getPriority();
}
}
}