冒泡排序之如何根据对象一个属性排序
Posted 猕猴桃的爱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序之如何根据对象一个属性排序相关的知识,希望对你有一定的参考价值。
这个真的非常常用,尤其是做习题的时候,今天算是明白,其实很简单,但是真是面向对象的概念还没理解到位,另外,类真的很神奇,可以是数组类型,继续做题。
package com.company; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import javax.sound.midi.Soundbank; public class Main { //经典冒泡排序 public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(); int[] num=new int[n]; String[] name=new String[n]; ArrayList<Student> stu=new ArrayList<Student>(); for (int i=0;i<num.length;i++){ name[i]=scanner.next(); num[i]=scanner.nextInt(); } for (int i=0;i<num.length;i++){ Student s=new Student(name[i],num[i]); stu.add(s); } Student[] st=new Student[num.length];//类作为数组使用 stu.toArray(st); sort(st,n); } //从小到大排序 public static void sort(Student[] st,int n){ int i,j,k; Student temp; for (i=n-1;i>0;i--){ for (j=0;j<i;j++){ if (st[j].score>st[j+1].score){ temp=st[j]; st[j]=st[j+1]; st[j+1]=temp; } } } for (i=0;i<st.length;i++){ System.out.print(st[i].name+" "); } } public static class Student{ String name; int score; public Student(){} public Student(String name,int score){ this.name=name; this.score=score; } } }
以上是关于冒泡排序之如何根据对象一个属性排序的主要内容,如果未能解决你的问题,请参考以下文章