0

在我的數組列表中我有名字和數字,但它不是按字母順序的。我正在使用set adapter方法來設置所有名稱和編號。Android:Arraylist收集排序

我很困惑熱利用集合排序在數組列表中的兩個名稱和編號

可以在任何請給我一個想法:)

回答

0

isAsc是用於檢查布爾變量。您想按升序或降序排序。

arraySquads是我的ArrayListTeamModal類型模態類。

if (isAsc) { 
       Collections.sort(arraySquads, new Comparator<TeamModal>() { 
        @Override 
        public int compare(TeamModal emp1, TeamModal emp2) { 
         String playerName1=emp1.getNick_name()); 
         String playerName2=emp2.getNick_name()); 
         return playerName1.compareToIgnoreCase(
           playerName2); 
        } 
       }); 
      } 
      else 
      { 
       Collections.sort(arraySquads, new Comparator<TeamModal>(){ 
        public int compare(TeamModal emp1, TeamModal emp2) { 
         String playerName1=emp1.getNick_name(); 
         String playerName2=emp2.getNick_name(); 
         return playerName2.compareToIgnoreCase(playerName1); 
        } 
       }); 
      } 
0

我認爲這將有助於你:

Person p = new Person("Bruce", "Willis"); 
Person p1 = new Person("Tom", "Hanks"); 
Person p2 = new Person("Nicolas","Cage"); 
Person p3 = new Person("John","Travolta"); 

ArrayList<Person> list = new ArrayList<Person>(); 
list.add(p); 
list.add(p1); 
list.add(p2); 
list.add(p3); 

Collections.sort(list, new Comparator(){ 

    public int compare(Object o1, Object o2) { 
     Person p1 = (Person) o1; 
     Person p2 = (Person) o2; 
     return p1.getFirstName().compareToIgnoreCase(p2.getFirstName()); 
    } 

}); 

這將在按字母順序排列列表進行排序。你拿到了名單按字母順序排列

1

任何領域實現Comparable接口,你的接觸模型像

public class Contact implements Comparable<Contact> 

覆蓋compareTo方法

public int compareTo(Fruit Contact) 

那種你想

最後使用

Arrays.sort(Contacts); 

它將相應地排序

請按照this鏈接。