亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

List集合中對數據實現多重規則進行排序的案例

2024-07-14 08:43:06
字體:
來源:轉載
供稿:網友

List集合進行排序時,很多人會考慮冒泡、快速等排序算法,但是對于多重排序規則的話,算法就不太適用了。其實java.util.Collections已經提供了sort的排序方法,并且能自己實現其排序規則。

現在有個場景:我需要對一批優惠券進行排序,優惠券有三個屬性:是否可用、券類型、面額。我需要將可用的、券類型最大的、面額最大的券排到最前面。

即優先按是否可用排序,其次是券類型,再者就是面額。    

話不多說,看代碼吧:

package com.test;import java.math.BigDecimal;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;/** * List多重規則排序測試類 */public class TestCompartor {  public static void main(String[] args) {    ArrayList<Coupon> persons = new ArrayList<Coupon>();    persons.add(new Coupon(13,0,new BigDecimal(40)));    persons.add(new Coupon(13,0,new BigDecimal(50)));    persons.add(new Coupon(13,0,new BigDecimal(45)));    persons.add(new Coupon(1,0,new BigDecimal(20)));    persons.add(new Coupon(13,1,new BigDecimal(30)));    persons.add(new Coupon(1,0,new BigDecimal(25)));    persons.add(new Coupon(11,0,new BigDecimal(50)));    persons.add(new Coupon(11,1,new BigDecimal(40)));    System.out.println("排序之前:");    for (int i = 0; i <persons.size(); i++) {      System.out.println(persons.get(i));    }    System.out.println();    Collections.sort(persons, new Comparator<Coupon>() {      //按可用升序,券類型降序,面額降序      public int compare(Coupon o1, Coupon o2) {        if (o1.valueAble.compareTo(o2.valueAble)==0){         if(o2.themeType.compareTo(o1.themeType)==0){         return o2.amount.compareTo(o1.amount)>0?1:-1;         }else{         return o2.themeType - o1.themeType;         }        }else{          return o1.valueAble-o2.valueAble ;        }      }    });    System.out.println("排序后結果:");    for (int i = 0; i <persons.size(); i++) {      System.out.println(persons.get(i));    }  }  static class Coupon{    public Integer themeType; //優惠券類型    public Integer valueAble; //可用 ,0 可用,1不可用    public BigDecimal amount; //面額    @Override    public String toString() {      return "Person{" +          "themeType=" + themeType +          ", valueAble=" + valueAble +          ", amount=" + amount +          '}';    } public Coupon(Integer themeType, Integer valueAble, BigDecimal amount) {  super();  this.themeType = themeType;  this.valueAble = valueAble;  this.amount = amount; }  }}

至于封裝工具類我就懶得弄了,有需要的自己封裝吧。

這里如果用了Integer等封裝類型,最好自己也做下非空處理。

排序之前:

Person{themeType=13, valueAble=0, amount=40} Person{themeType=13, valueAble=0, amount=50} Person{themeType=13, valueAble=0, amount=45} Person{themeType=1, valueAble=0, amount=20} Person{themeType=13, valueAble=1, amount=30} Person{themeType=1, valueAble=0, amount=25} Person{themeType=11, valueAble=0, amount=50} Person{themeType=11, valueAble=1, amount=40} 

排序后結果:

Person{themeType=13, valueAble=0, amount=50} Person{themeType=13, valueAble=0, amount=45} Person{themeType=13, valueAble=0, amount=40} Person{themeType=11, valueAble=0, amount=50} Person{themeType=1, valueAble=0, amount=25} Person{themeType=1, valueAble=0, amount=20} Person{themeType=13, valueAble=1, amount=30} Person{themeType=11, valueAble=1, amount=40}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩欧美日韩大片| 热re91久久精品国99热蜜臀| 国产成+人+综合+亚洲欧洲| 欧美成人小视频| 亚洲aⅴ日韩av电影在线观看| 亚洲一区二区三区xxx视频| 亚洲人成啪啪网站| 中日韩美女免费视频网址在线观看| 亚洲一区国产精品| 欧美亚洲免费电影| 中文字幕亚洲综合久久| 久久精品视频一| 日韩欧美国产免费播放| 亚洲欧美制服第一页| 成人激情视频在线观看| 亚洲精品美女视频| 欧美成年人视频网站| 欧美日韩中文字幕在线视频| 久久成年人视频| 狠狠操狠狠色综合网| 亚洲欧洲第一视频| 欧美华人在线视频| 午夜精品一区二区三区视频免费看| 国产精品高清在线观看| 91欧美精品午夜性色福利在线| 亚洲国产高清自拍| 久色乳综合思思在线视频| 欧美色videos| 欧美怡春院一区二区三区| 久久精品中文字幕电影| 2021国产精品视频| 国产丝袜一区视频在线观看| 国产精品一区二区三区久久| 亚洲国产成人精品女人久久久| 欧美日韩在线观看视频| 亚洲网址你懂得| 欧美久久精品午夜青青大伊人| 5278欧美一区二区三区| 91手机视频在线观看| 欧美日韩另类字幕中文| 亚洲香蕉成人av网站在线观看| 日韩欧美中文字幕在线播放| 日韩欧美在线网址| 91黑丝在线观看| 亚洲精品国产欧美| 亚洲成人av在线播放| 亚洲视频在线观看视频| 丁香五六月婷婷久久激情| 亚洲欧美日韩国产中文专区| 川上优av一区二区线观看| 国产精品久久久久久久久男| 中文字幕av一区| 中文字幕国产日韩| 国产精品视频免费观看www| 久久久国产一区| 国产精品福利无圣光在线一区| 另类色图亚洲色图| 国产成人精品在线观看| 欧美裸体xxxx极品少妇软件| 国产午夜精品一区理论片飘花| 精品国产91久久久久久| 国产日韩av高清| 亚洲国产精品电影在线观看| 欧美激情精品久久久久久黑人| 8090成年在线看片午夜| 亚洲已满18点击进入在线看片| 亚洲精品免费在线视频| 亚洲精品永久免费精品| 亚洲最大福利视频网站| 国产精品福利无圣光在线一区| 91视频免费在线| 日韩精品高清视频| 欧美激情久久久久| 亚洲成人激情小说| 国产精品中文字幕久久久| 国产美女久久精品香蕉69| 亚洲欧洲国产一区| 青青草原成人在线视频| 欧美激情欧美激情在线五月| 国产成人精品av| 成人免费福利视频| 欧美丰满少妇xxxxx做受| 91精品久久久久久| 国产精品电影网站| 日本精品性网站在线观看| 日本精品一区二区三区在线| 成人国内精品久久久久一区| 九九久久久久久久久激情| 国产成人综合av| 亚洲成人黄色网址| 青青草成人在线| 91最新在线免费观看| 欧美华人在线视频| 丝袜情趣国产精品| 国产中文欧美精品| 成人免费淫片aa视频免费| 日本不卡视频在线播放| 91午夜在线播放| 北条麻妃久久精品| 日韩av在线导航| 国产一区二区日韩| 精品久久久av| 亚洲一区二区三| 欧美一区二区影院| 国产一区二区三区直播精品电影| 爱福利视频一区| 亚洲精品av在线| 孩xxxx性bbbb欧美| 一色桃子一区二区| 91九色在线视频| 久色乳综合思思在线视频| 国产不卡在线观看| 日本成人免费在线| 成人国产在线激情| 亚洲视频777| 日本精品中文字幕| 国产91露脸中文字幕在线| 日韩成人在线视频| 日韩亚洲综合在线| 91精品国产777在线观看| 国产精品igao视频| 精品国产福利在线| 欧美高清在线视频观看不卡| 奇米四色中文综合久久| 狠狠色狠色综合曰曰| 亚洲欧美激情在线视频| 欧美人在线视频| 国产专区欧美专区| 日韩美女福利视频| 国产视频在线观看一区二区| 成人久久精品视频| 日本一区二区在线播放| 欧美日韩午夜激情| 黄网站色欧美视频| 亚洲综合精品一区二区| 九色精品美女在线| 日韩美女视频在线观看| 欧美一级免费看| 九九久久精品一区| 美乳少妇欧美精品| 日韩精品中文字幕久久臀| 久久久噜噜噜久久中文字免| 亚洲人成网站在线播| 国产精品高潮粉嫩av| 国产精品久久77777| 国产精品一区二区久久国产| 91精品国产免费久久久久久| 95av在线视频| 欧美黑人xxxⅹ高潮交| 91精品国产免费久久久久久| 亚洲自拍在线观看| 日本精品免费一区二区三区| 日韩暖暖在线视频| 911国产网站尤物在线观看| 亚洲成人激情小说| 色狠狠av一区二区三区香蕉蜜桃| 精品国内自产拍在线观看| 色中色综合影院手机版在线观看| 国产在线98福利播放视频| 国产欧美精品在线播放| 国产欧美日韩中文| 国产精品扒开腿做爽爽爽的视频| 国产精品69精品一区二区三区| 久久99精品久久久久久青青91|