static void Colletions.sort(List list)
or you can cutomize your sorting rule and use
static void Collections.sort(List l, Comparator c)

解决方案 »

  1.   

    我是这样操作的,我的代码如下:
    import java.util.*;class MyQueue{private LinkedList queue=new LinkedList();public MyQueue(){}public void put(Object v){
    queue.addFirst(v);
    }public void remove(){
         queue.removeLast();
    }public Object get(int i){
    return queue.get(i);
    }public boolean isEmpty(){
    return queue.isEmpty();
    }public int getSize(){
    return queue.size();
    }public LinkedList getQueue(){
    return queue;
    }public void sort(){
    Collections.sort((List)queue);
    }
    }
      

  2.   

    class MyProcess implements Comparable{private int priority;
    private int id;
    private int cpuTime;
    private int allTime;
    private int startBlock;
    private int blockTime;
    private boolean state;public MyProcess(int priority,int id,int cpuTime,int allTime,int startBlock,
    int blockTime,boolean state){
    this.priority=priority;
    this.id=id;
    this.cpuTime=cpuTime;
    this.allTime=allTime;
    this.startBlock=startBlock;
    this.blockTime=blockTime;
    this.state=state;
    }public void setPriority(int priority){
    this.priority=priority;
    }public int getPriority(){
    return priority;
    }public void setID(int id){
    this.id=id;
    }public int getID(){
    return id;
    }public void setCpuTime(int cpuTime){
    this.cpuTime=cpuTime;
    }public int getCpuTime(){
    return cpuTime;
    }public void setAllTime(int allTime){
    this.allTime=allTime;
    }public int getAllTime(){
    return allTime;
    }public void setStartBlock(int startBlock){
    this.startBlock=startBlock;
    }public int getStartBlock(){
    return startBlock;
    }public void setBlockTime(int blockTime){
    this.blockTime=blockTime;
    }public int getBlockTime(){
    return blockTime;
    }public void setState(boolean state){
    this.state=state;
    }public String getState(){
    if(state==true){
    return "READY";
    }
    return "BLOCK";
    }public String toString(){
    return ("ID:"+getID()+"\n"+"PRIORITY:"+getPriority()+"\n"+
            "CPUTIME:"+getCpuTime()+"\n"+"ALLTIME:"+getAllTime()+"\n"+
            "STARTBLOCK:"+getStartBlock()+"\n"+"BLOCKTIME:"+getBlockTime()+"\n"+
            "STATE:"+getState());
    }public int compareTo(Object v)
    {return 1;}}

      

  3.   

    import java.util.*;public class Schedul{private static MyQueue myQueue=new MyQueue();
    private static MyProcess process1=new MyProcess(9,4,0,3,2,3,true);
    private static MyProcess process2=new MyProcess(38,1,0,3,3,2,true);
    private static MyProcess process3=new MyProcess(23,2,0,4,3,2,true);public void set(){
    myQueue.put(process1);
            myQueue.put(process2);
            myQueue.put(process3);
    }public void print(){
    for(int i=0;i<myQueue.getSize();i++){
    System.out.println((MyProcess)myQueue.get(i));
            System.out.println();
            }
    }
    public static void main(String[] args){Schedul schedul=new Schedul();
    schedul.set();
    myQueue.sort();
    System.out.println("-------------------------初始状态--------------------------------");
    schedul.print();
    System.out.println("-----------------------------------------------------------------");
    }
    }
      

  4.   

    我希望linklist里的对象是按照priority属性大小排序的,可是不行!!!请帮我看一小下!!!
      

  5.   

    你的MyProcess.compareTo设计不合理
    要重新写
    public int  compareTo(Object o){
       MyProcess other  = (MyProcess)o;
       int i = other.getPriority();
       return priority>i?1:(priority==i?0:-1);}
      

  6.   

    定义Comparator,然后放在TreeSet中也行