一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java中實現Comparator接口和用法實例(簡明易懂)

Java中實現Comparator接口和用法實例(簡明易懂)

2019-12-17 13:41junjie JAVA教程

這篇文章主要介紹了Java中實現Comparator接口和用法實例(簡明易懂),本文給出實現Comparator接口的實例和使用這個接口的代碼實例,需要的朋友可以參考下

在java中,如果要對集合對象或數組對象進行排序,需要實現Comparator接口以達到我們想要的目標。

接下來我們模擬下在集合對象中對日期屬性進行排序

一、實體類Step

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.ljq.entity;
 
 
/**
 * 運號單流程
 *
 * @author Administrator
 *
 */
public class Step{
  /** 處理時間 */
  private String acceptTime = "";
  /** 快件所在地點 */
  private String acceptAddress = "";
 
  public Step() {
    super();
  }
 
  public Step(String acceptTime, String acceptAddress) {
    super();
    this.acceptTime = acceptTime;
    this.acceptAddress = acceptAddress;
  }
 
  public String getAcceptTime() {
    return acceptTime;
  }
 
  public void setAcceptTime(String acceptTime) {
    this.acceptTime = acceptTime;
  }
 
  public String getAcceptAddress() {
    return acceptAddress;
  }
 
  public void setAcceptAddress(String acceptAddress) {
    this.acceptAddress = acceptAddress;
  }
 
}

二、實現Comparator接口

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.ljq.entity;
 
import java.util.Comparator;
import java.util.Date;
 
import com.ljq.util.UtilTool;
 
/**
 * 對Step類進行排序
 *
 * @author Administrator
 *
 */
public class StepComparator implements Comparator<Step>{
 
  /**
   * 如果o1小于o2,返回一個負數;如果o1大于o2,返回一個正數;如果他們相等,則返回0;
   */
  @Override
  public int compare(Step o1, Step o2) {
    Date acceptTime1=UtilTool.strToDate(o1.getAcceptTime(), null);
    Date acceptTime2=UtilTool.strToDate(o2.getAcceptTime(), null);
    
    //對日期字段進行升序,如果欲降序可采用before方法
    if(acceptTime1.after(acceptTime2)) return 1;
    return -1;
  }
 
}

三、測試

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package junit;
 
import java.util.Collection;
import java.util.Collections;
import java.util.List;
 
import org.junit.Test;
 
 
public class StepComparatorTest {
 
  @Test
  public void sort() throws Exception{
    List<Step> steps=new ArrayList<Step>;
    //對集合對象進行排序
     StepComparator comparator=new StepComparator();
    Collections.sort(steps, comparator);
    if(steps!=null&&steps.size()>0){
      for(Step step:steps){
        System.out.println(step.getAcceptAddress());
        System.out.println(step.getAcceptTime());
      }
    }
 
  }
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 加勒比福利| 奇米社区 | 亚洲网站在线播放 | 精品亚洲永久免费精品 | 视频大全在线观看网址 | 日本男男gaygays| 双子母性本能在线 | 色综合久久九月婷婷色综合 | 麻豆网页 | 国产精品视频一区二区三区w | 亚洲精品老司机福利在线播放 | 波多野给衣一区二区三区 | 999任你躁在线精品免费不卡 | 护士的小嫩嫩好紧好舒服 | 亚洲狠狠婷婷综合久久蜜桃 | 5g影院天天爽 | 亚洲欧美日韩国产精品一区 | 女仆色永久免费网站 | 久久久久久免费高清电影 | 国产女同精品 | 欧洲第一页 | 国产伦精品一区二区三区免费观看 | 日本一道高清不卡免费 | 久久精品一区二区免费看 | 久久水蜜桃亚洲AV无码精品偷窥 | 1024国产基地永久免费 | 亚洲精品国产专区91在线 | 日本护士xxxx视频 | 欧美又硬又粗又长又大 | 国产精品www| 99r视频在线观看 | 亚洲天堂影视 | sese在线播放 | 国产精品合集久久久久青苹果 | 国产一区二区精品久久91 | 亚洲国产欧美在线人成 | 日本xxxx19视频 | 国产一卡二卡3卡4卡四卡在线视频 | 变态 调教 视频 国产九色 | 成人小视频在线观看 | 九九爱这里只有精品 |