【问题标题】:How to sort String in Arraylist如何在Arraylist中对字符串进行排序
【发布时间】:2015-01-14 15:00:40
【问题描述】:

我有一个 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 对它们进行排序。谢谢

【问题讨论】:

标签: sorting arraylist collections


【解决方案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()));

【讨论】:

    猜你喜欢
    • 2012-10-14
    • 1970-01-01
    • 2011-07-28
    • 2014-12-07
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    相关资源
    最近更新 更多