该排序主要运用了冒泡排序 和 java提供的排序函数
public class CompareData {
public static class personClass {
private String name;
private int number;
public personClass(String name,int number){
this.name=name;
this.number=number;
}
}
private void swp(ArrayList<personClass> person, int X,int Y){
personClass temp=person.get(X);
person.set(X, person.get(Y));
System.out.print(person.get(X).name);
person.set(Y,temp);
System.out.print(person.get(Y).name);
}
//冒泡
public void getDataCompare(ArrayList<personClass> person ){
for(int i=0;i<person.size();i++){
// personClass personTemp=person.get(i);//得到第二个
for (int j = i; j < person.size(); j++) {
if(person.get(i).number<person.get(j).number){
personClass temp=person.get(i);
person.set(i, person.get(j));
person.set(j, temp);
}
}
}
}
public List<personClass> getList(List<personClass> g){
Collections.sort(g, new Comparator<personClass>(){
//java提供的对象排序函数
public int compare(personClass o1, personClass o2) {
// TODO Auto-generated method stub
int numberPre=o1.number;
int numberHre=o2.number;
if(numberPre>numberHre){
return 1;
}
else if(numberPre<numberHre){
return -1;
}
else {
return 0;
}
}
});
return g;
}
public static void main(String []arg){
personClass a=new personClass("小明 ",80);
personClass b=new personClass("小华",30);
personClass c=new personClass("小花",80);
personClass d=new personClass("小黑",10);
personClass f=new personClass("小白",70);
List<personClass> g=new ArrayList<personClass>();
g.add(a);
g.add(b);
g.add(c);
g.add(d);
g.add(f);
for(int i=0;i<g.size();i++){
personClass per=g.get(i);
System.out.println(per.name+per.number);
}
new CompareData().getList(g);
System.out.println("------------------");
}
}