在我的数组列表中,我有姓名和号码,但不是按字母顺序排列。我正在使用set adapter方法设置所有名称和号码。
我很困惑,在名单和数字的数组列表中使用集合排序
请问我一个想法:)
答案 0 :(得分:1)
为您的联系人模型实施可比较的界面,如
public class Contact implements Comparable<Contact>
覆盖compareTo方法
public int compareTo(Fruit Contact )
按您想要的任何字段排序
最后使用
Arrays.sort(Contacts);
它会相应地排序
请关注this链接。
答案 1 :(得分:0)
isAsc
是用于检查的布尔变量。您希望按升序或降序排序。
arraySquads
是我ArrayList
类型模态类的TeamModal
。
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);
}
});
}
答案 2 :(得分: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());
}
});
这将按字母顺序对数组列表进行排序。你得到的清单按字母顺序排列