利用list对对象进行快速排序

java利用list对元素进行快速排序,并赋予排序等级

1.java的构造函数是在new一个对象时自动调用的函数,可以传参也可以不传参。

2.list集合不可以直接打印。

package package1;

public class Student {
   String name;
   String subject;
   Integer score;
   Integer order;
public Student(String name, String subject, int i, int j) {
    // TODO Auto-generated constructor stub//给对象的属性赋值
    this.name=name;
    this.subject=subject;
    this.score=i;//
    this.order=j;
    
}
public void Student1(String string, String string2, String string3, String string4) {
    // TODO Auto-generated constructor stub
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getSubject() {
    return subject;
}
public void setSubject(String subject) {
    this.subject = subject;
}
public Integer getScore() {
    return score;
}
public void setScore(Integer score) {
    this.score = score;
}
public void setOrder(Integer order) {
    this.order = order;
}
}

 

 

package package1;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class listSort {
    public static void main(String [] arugs){
        
        List <Student>list1 =new ArrayList<Student>();
          list1.add(new Student("李四","chinese",88,0));
          list1.add(new Student("张三","chinese",67,0));
          list1.add(new Student("王五","chinese",98,0));
          list1.add(new Student("钱六","chinese",57,0));              
    Collections.sort(list1,new Comparator<Student>(){

        @Override
        public int compare(Student o1, Student o2) {
            // TODO Auto-generated method stub
            if(o1.getScore()<o2.getScore()){
                return -1;
            }
            if(o1.getScore()==o2.getScore())
                 return 0;
            return 1;
        }
        
        
    });
    for(int i=0;i<list1.size();i++){
        list1.get(i).setOrder(i);
        System.out.println(list1.get(i).score);
        System.out.println(list1.get(i).order);
    }
    }
}

-------------------------------------------------------------------------

打印内容如下

98
0
88
1
67
2
57
3

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值