1. 程式人生 > 實用技巧 >java對陣列,list,map進行排序方法(一)

java對陣列,list,map進行排序方法(一)

java對陣列進行排序

使用Arrays.sort即可(底層在不同情況下使用插入排序,快速排序和歸併排序)

(1)對基本資料型別排序(以int為例)

import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        int[] arr = {1,5,0,54,698,4,54,12,1,24,59};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }
}

輸出如下:

(2)對引用資料型別排序

此處使用匿名類給 sort 方法傳參,也可將 Student 類實現 comparator 介面

import java.util.Arrays;
import java.util.Comparator;

public class Main {
    public static void main(String[] args) {
        Student[] studs = {new Student(100),new Student(98),new Student(67),new Student(80)};
        Arrays.sort(studs, new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                if(o1.grade<o2.grade)
                    return -1;
                else if(o1.grade>o2.grade)
                    return 1;
                else
                    return 0;

            }
        });
        System.out.println(Arrays.toString(studs));
    }
}

class Student{
    int grade;//成績
    public Student(int grade){
        this.grade = grade;
    }
    public String toString(){
        return String.valueOf(grade);
    }
}

  輸出如下: