如何在Arraylist中对String进行排序

时间:2015-01-14 15:00:41

标签: sorting arraylist collections

我有一个ArrayList,我在其中添加了客户。我想要做的是我想对它们进行排序,因此它们在控制台上显示出来。

private static ArrayList <Kund> klista = new ArrayList<>();
Kund kundd = new Kund("a","b");
System.out.print("Namn: ");
String namn = scr.next();
System.out.print("Adress: ");  
String adress = scr.next(); 
if (!namnKontroll(namn)){
    System.out.println (namn + " " +"har lagts till \n");
    klista.add(kundd);
    Kund k = new Kund(namn, adress); 
    klista.add(k); 
}else{
    System.out.println("Kunden med det namnet finns redan i systemet!");
}

//这就是我将客户添加到我的ArrayList的方式。那么现在,如何在ArrayList中对这些名称进行排序。我想用Collections对它们进行排序。感谢

1 个答案:

答案 0 :(得分:1)

尝试使用Collections.sort(klista, theComparator)。您需要创建Comparator,如下所示:

public class KundComparator implements Comparator<Kund> {

    @Override
    public int compare(Kund o1, Kund o2) {
        // write comparison logic here
        return o1.getID().compareTo(o2.getID());
    }

}

然后使用比较器:

Collections.sort(klista, new KundComparator());

如果您使用的是Java 8,可以这样做:

Collections.sort(klista, (Kund k1, Kund k2) -> k1.getId().compareTo(k2.getId()));