使用Comparator对Queue排序
(作者:覃煜霖,撰写时间: 2019年 05月 7日)
Queue队列也可进行排序,可以使用Comparator和Comparable进行排序。
代码如下:
public class Queue{
public static void main(String[] args) {
//boolean a = true;
int c = 5;
while(c<15){
do{
c++;
if(c==6){
continue;
}
System.out.println("c"+c);
}while(c<10);
//此处测试
//System.out.println("wc"+c);
//System.out.println("wc"+c);
}
Comparator<DataType> xvLie7 = new Comparator<DataType>() {
@Override
public int compare(DataType o1, DataType o2) {
// TODO Auto-generated method stub
return o1.getBit() - o2.getBit();
}
};
java.util.Queue<DataType> q1 = new LinkedList<DataType>();
q1.add(new DataType("byte",8,1));
q1.add(new DataType("boolean",8,1));
q1.add(new DataType("char",16,2));
q1.add(new DataType("float",32,4));
q1.add(new DataType("double",64,8));
q1.add(new DataType("short",16,2));
q1.add(new DataType("int",32,4));
q1.add(new DataType("long",64,8));
System.out.println(q1.poll().getDataType());
System.out.println(q1.poll().getDataType());
System.out.println(q1.poll().getDataType());
Collections.sort((LinkedList<DataType>) q1,xvLie7);
Iterator<DataType> i7 = q1.iterator();
while(i7.hasNext()){
DataType dT7 = i7.next();
System.out.println(dT7.getDataType()+"\t"+dT7.getBit()+"\t"+dT7.getByteMath());
}
}
}