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

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

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

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

报告相同问题?

悬赏问题

  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan