对LinkedList进行排序

package 对Linked排序;


public class Edge {
public int w;


public Edge() {
// TODO 自动生成的构造函数存根
}

public Edge(int w){
this.w=w;
}

public int getW() {
return w;
}


public void setW(int w) {
this.w = w;
}


@Override
public String toString() {
return "Edge [w=" + w + "]";
}

}


// 必须指定排序规则

package 对Linked排序;


import java.util.Comparator;


public class EdgeCompare implements Comparator {


@Override
public int compare(Edge o1, Edge o2) {
if(o2.wreturn 1;
}
if(o2.w>o1.w){
return -1;
}
return 0;
}


}


//测试

package 对Linked排序;


import java.util.Collections;
import java.util.LinkedList;
import java.util.List;


public class Test {
public static void main(String[] args) {
List list=new LinkedList();

Edge e1=new Edge(1);
Edge e2=new Edge(3);
Edge e3=new Edge(4);
Edge e4=new Edge(2);
Edge e5=new Edge(5);
list.add(e1);
list.add(e2);
list.add(e3);
list.add(e4);
list.add(e5);
Collections.sort(list,new EdgeCompare());
System.out.println(list);
}




}

你可能感兴趣的:(语言基础)