[英]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.