根據list對象的某一個屬性進行排序

java中Collections.sort方法可以根據list中對象(或者map)的某個屬性進行排序

import com.td.cms.entity.Question;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * Created by Jerry on 2017/2/7.
 * God Bless Me
 */
public class test {
    public static void main(String[] args) {

        List<Question> questions = new ArrayList<>();
        Question q1 = new Question();
        Question q2 = new Question();
        Question q3 = new Question();

        q1.setQuesNum(1);
        q2.setQuesNum(3);
        q3.setQuesNum(2);

        questions.add(q1);
        questions.add(q2);
        questions.add(q3);

        Collections.sort(questions, new Comparator<Question>(){

            /*
             * int compare(Question o1, Question o2) 返回一個基本類型的整型,
             * 返回負數表示:o1 小於o2,
             * 返回0 表示:o1和o2相等,
             * 返回正數表示:o1大於o2。
             */
            public int compare(Question o1, Question o2) {

                //按照學生的年齡進行升序排列
                if(o1.getQuesNum() > o2.getQuesNum()){
                    return 1;
                }
                if(o1.getQuesNum() == o2.getQuesNum()){
                    return 0;
                }
                return -1;
            }
        });
        for (Question question : questions) {
            System.out.println(question.getQuesNum());
        }
    }
}
發佈了24 篇原創文章 · 獲贊 31 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章