我有一个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对它们进行排序。感谢
答案 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()));