肥学 2021-05-27 20:14 采纳率: 83.3%
浏览 68
已采纳

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里面存储的对象交换位置不知道大佬们有没有什么方法可以帮帮我

  • 写回答

1条回答 默认 最新

  • 一剑荒芜 2021-05-28 09:12
    关注

     

            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);
    

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    悬赏问题

    • ¥15 docker无法进入容器内部
    • ¥15 qt https 依赖openssl 静态库
    • ¥15 python flask 报错
    • ¥15 改个密码引发的项目启动问题
    • ¥100 CentOS7单线多拨
    • ¥15 debian安装过程中老是出现无法将g21dr复制到g21dr怎么解决呀?
    • ¥15 如何用python实现跨工作簿的指定区域批量复制粘贴
    • ¥15 基于CH573f的雷迪安CR1400m通讯代码
    • ¥15 matlab m文件如何与matla app designer 数据交互?
    • ¥15 根据控制框图,传递函数求解