[英]Java sort via bucket value
我正在嘗試通過函數中的某個值進行排序,
Collection users = roster.getEntries();
if(!users.isEmpty()) {
Iterator userIterator = users.iterator();
while(userIterator.hasNext()) {
String name = user.getName()==null?user.getUser():user.getName();
現在,在進行迭代之前,我想按用戶名對該Collection進行排序。 關於如何進行此操作有什么建議嗎?
感謝您的時間。
您可以使用Collections.sort()並提供一個Comparator,前提是該集合保留順序。 如果沒有將其復制到ArrayList中。
除非您使用Java 1.4或更早版本,否則我將使用泛型和for-each循環。
Collection<User> users = roster.getEntries();
if(!users.isEmpty()) {
Collections.sort(users, SORT_BY_NAME_COMPARATOR);
for(User user: users) {
// do something
}
}
考慮您有一個User類。 該類可以實現Comparable 。 了解此接口及其用法。
或者您可以通過應用匿名Comparator
類來簡單地嘗試
Collections.sort( users , new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ( (User)o1 ).getName().compareTo( ( (User)o2 ).getName() );
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.