簡體   English   中英

Java通過存儲桶值排序

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

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