国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - String類下compareTo()與compare()方法比較

String類下compareTo()與compare()方法比較

2020-09-27 15:48Java之家 Java教程

這篇文章主要介紹了String類下compareTo()與compare()方法比較的相關資料,需要的朋友可以參考下

String類下compareTo()與compare()方法比較

這兩個方法經常搞混淆,現對其進行總結以加深記憶。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
compareTo(Object o)方法是java.lang.Comparable<T>接口中的方法,
當需要對某個類的對象進行排序時,該類需要實現Comparable<T>接口的,
必須重寫public int compareTo(T o)方法,
比如MapReduce中Map函數和Reduce函數處理的 <key,value>,
其中需要根據key對鍵值對進行排序,所以,key實現了WritableComparable<T>接口,
實現這個接口可同時用于序列化和反序列化。
WritableComparable<T>接口(用于序列化和反序列化)是Writable接口和Comparable<T>接口的組合;
判斷字符串大小的依據是根據它們在字典中的順序決定的。
如果參數字符串等于此字符串,則返回 0 值;
如果按字典順序此字符串小于字符串參數,則返回一個小于 0 的值;
如果按字典順序此字符串大于字符串參數,則返回一個大于 0 的值。
 
compare(Object o1,Object o2)方法是java.util.Comparator<T>接口的方法,
它實際上用的是待比較對象的compareTo(Object o)方法。

下面我們寫一來看看上面兩個方法是怎么用的:

首先,寫一個User類,代碼如下:

?
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
43
44
45
public class User implements Comparable<Object> {
  int id;
  String name;
 
  public User(int id, String name) {
    this.id = id;
    this.name = name;
  }
 
  /*
   * Getters and Setters
  */
  public int getId() {
    return id;
  }
 
  public void setId(int id) {
    this.id = id;
  }
 
  public String getName() {
    return name;
  }
 
  public void setName(String name) {
    this.name = name;
  }
 
  @Override
  public int compareTo(Object o) {
    if (this == o) {
      return 0;
    } else if (o != null && o instanceof User) {
      User u = (User) o;
      if (id <= u.id) {
        return -1;
      } else {
        return 1;
      }
    } else {
      return -1;
    }
  }
 
}

接下來,我們寫一個測試類Test:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Test{
  //編寫Comparator,根據User的id對User進行排序
  private static final Comparator<User> COMPARATOR = new Comparator<User>() {
    public int compare(User o1, User o2) {
      return o1.compareTo(o2);
      //運用User類的compareTo方法比較兩個對象   
   }
  };
 
  public static void main(String[] args) {
    ArrayList<User> student = new ArrayList<User>();
    User user1 = new User(1,"yueliming");
    User user2 = new User(2,"yueliming");
 
    Collections.sort(student, COMPARATOR);//用我們寫好的Comparator對student進行排序
    for(int i=0;i<student.size();i++){
      System.out.println(student.get(i).getId());
    }
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/sinat_31057219/article/details/54378689

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日韩av一级片 | 成人深夜在线 | 伊人网站| 欧美性久久 | 欧美黑人性暴力猛交喷水黑人巨大 | 91黄色片视频 | 在线观看免费视频国产 | 久久久99久久久国产自输拍 | 在线观看一区三区 | 九九在线国产视频 | 亚洲视频欧美视频 | 午夜视频免费 | 在线观看成人 | 综合另类| 欧美日韩久久 | 免费在线一区二区 | av资源在线 | 色先锋av资源中文字幕 | 日韩在线免费播放 | 久草免费在线 | 激情欧美一区二区三区中文字幕 | 美国成人在线 | 国产日产精品一区二区三区四区 | 久久久精品播放 | 亚州av影院 | 日韩中文字幕在线观看 | 久久五月视频 | 国产欧美精品一区二区三区 | 在线观看欧美日韩 | 国偷自产一区二区免费视频 | 日韩免费在线 | 欧美 日韩 精品 | 午夜精 | www.av在线| 欧美人成在线视频 | 日韩欧美精品在线 | 欧美国产在线观看 | 日韩福利视频 | 美日韩精品视频 | 日韩在线视频播放 | 免费看黄在线观看 |