簡體   English   中英

按升序對哈希對象進行排序

[英]Sorting Hashset Object in ascending order

我有兩個合並的User List對象:

objectList1.addAll(objectList2);

為了避免重復項轉換為HashSet

Set<User> users = newHashSet(objectList);

如何根據名字升序對用戶進行排序?

我試圖使用TreeSet代替HashSet但是拋出Exception

如何在不使User類實現Comparable<User>情況下獲得結果?

實現可比接口。 https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html

或使用比較器。 https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html

任一個應該起作用。 問題在於,如果Set不知道如何比較兩個元素,則不知道如何對其進行排序。

假設您要在用戶上使用Comparator,則可以這樣定義:

Comparator<User> comparator = new Comparator<User>() {
   @Override
   public int compare(User u1, User u2) {
      return u1.name.compareTo(u2.name);
   }
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM