java排序ArrayList对象排序问题

//Stu是这样的
public class Stu {
	private String name;
	private double grade;
	private int age;
	public Stu(String name,double grade,int age) {
		this.name=name;
		this.grade=grade;
		this.age=age;
	}
	public String getName() {
		return name;
	}
	public double getGrade() {
		return grade;
	}
	public int getAge() {
		return age;
	}

}
//想要实现一个冒泡排序根据Stu类里面的grade,现在的问题是我不知道怎么将stulist里面存储的对象交换位置不知道大佬们有没有什么方法可以帮帮我
ArrayList<Stu> stulist=new ArrayList<Stu>();
public void sort() {
    	for(Stu i:stulist) {
    		for(Stu j:stulist) {
    			
    		}
    	}
    }

//想要实现一个冒泡排序根据Stu类里面的grade,现在的问题是我不知道怎么将stulist里面存储的对象交换位置不知道大佬们有没有什么方法可以帮帮我

 

        System.out.println("降序List冒泡");
        for (int i = 0; i < stulist.size(); i++){
            for (int j = 0; j < stulist.size(); j++){
                if (stulist.get(i).getGrade() > stulist.get(j).getGrade()){
                    Collections.swap(stulist, i, j);
                }
            }
        }
        stulist.forEach(System.out::println);
        System.out.println("升序List冒泡");
        for (int i = 0; i < stulist.size(); i++){
            for (int j = 0; j < stulist.size(); j++){
                if (stulist.get(i).getGrade() < stulist.get(j).getGrade()){
                    Collections.swap(stulist, i, j);
                }
            }
        }
        stulist.forEach(System.out::println);

冒泡如上。你可以不使用冒泡,使用其他的排序方式会简单很多