gpt4 book ai didi

java - 按字母顺序对对象的 ArrayList 进行排序

转载 作者:IT老高 更新时间:2023-10-28 21:16:54 28 4
gpt4 key购买 nike

我必须创建一个方法,根据电子邮件按字母顺序对对象的 ArrayList 进行排序,然后打印排序后的数组。我在排序时遇到问题的部分。我已经研究过它并尝试使用 Collections.sort(vehiclearray); 但这对我不起作用。我是我需要一个叫做比较器的东西,但不知道它是如何工作的。我是否必须使用这些,或者冒泡排序或插入排序之类的东西可以用于这种事情吗?

这是我目前的代码:

public static void printallsort(ArrayList<vehicle> vehiclearray){

ArrayList<vehicle> vehiclearraysort = new ArrayList<vehicle>();
vehiclearraysort.addAll(vehiclearray);

//Sort
for(int i = 0; i < vehiclearraysort.size(); i++)
if ( vehiclearray.get(i).getEmail() > vehiclearray.get(i+1).getEmail())

//Printing
for(i = 0; i < vehiclearraysort.size(); i++)
System.out.println( vehiclearraysort.get(i).toString() + "\n");

}

最佳答案

排序部分可以通过实现自定义 Comparator<Vehicle> 来完成.

Collections.sort(vehiclearray, new Comparator<Vehicle>() {
public int compare(Vehicle v1, Vehicle v2) {
return v1.getEmail().compareTo(v2.getEmail());
}
});

这个匿名类将用于对 Vehicle 进行排序。 ArrayList 中的对象在他们相应的电子邮件的基础上按字母顺序排列。

升级到 Java8 后,您还可以通过方法引用以不那么冗长的方式实现这一点:

Collections.sort(vehiclearray, Comparator.comparing(Vehicle::getEmail));

关于java - 按字母顺序对对象的 ArrayList 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19471005/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com