当前位置: 首页 > 面试题库 >

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

丁俊智
2023-03-14
问题内容

我必须创建一种方法,该方法根据电子邮件按字母顺序对对象的 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");

}

问题答案:

排序部分可以通过实现custom来完成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));


 类似资料:
  • 我必须创建一个方法,根据电子邮件按字母顺序排序对象的ArrayList,然后打印排序后的数组。我对它排序有困难的部分。我已经研究过它,并尝试使用,但这对我不起作用。我需要一种叫做比较器的东西,但不知道它是如何工作的。我必须使用这些,或者像气泡排序或插入排序之类的东西可以用于这种事情吗? 这是我目前掌握的代码:

  • 问题内容: 我有这个: 和[电影]数组。如何按名称的字母顺序对数组进行排序?我试过了: 和 但这不起作用,因为我没有访问电影的名称属性。 问题答案: 在传递给的闭包中,比较要排序的属性。像这样: 或以下要绕过案例的案例: 旁注: 通常,只有类型以大写字母开头;我建议使用and ,而不是and 。 例如,在操场上: 将按顺序 Swift5更新

  • 本文向大家介绍C程序按字母顺序对名称进行排序,包括了C程序按字母顺序对名称进行排序的使用技巧和注意事项,需要的朋友参考一下 用户必须输入名称的数量,并且需要借助strcpy()函数按字母顺序对这些名称进行排序。 字符(或)字符集合的数组称为字符串。 声明 以下是数组的声明- 例如,char string [50]; 长度为50个字符的字符串。 初始化 使用单字符常量 使用字符串常量 访问 有一个控

  • 问题内容: 我想按字母顺序对JAVA中的字符串进行排序,如下所示:AaBbCcDdEeFfGg之后是大写字母和小写字母。例如,如果我把AbaC退还给我AabC,谢谢! 问题答案: 如果先将字符放入数组中,则可以使用进行此操作。(为了使用不区分大小写的自定义比较器,它必须是对象数组,而不是基元。)

  • 问题内容: 我有一个包含国家/地区名称的对象。如何按字母顺序对列表进行排序? 问题答案: 假设这些是字符串,请使用方便的静态方法sort……

  • 我有一个基于类的React组件,它使用状态项和渲染结果。以下是我如何做到这一点的简短片段: 数据作为数组中的对象接收,如下所示: 我的问题是,在呈现这些项目之前,是否可以按字母顺序对其进行排序?最好的方法是什么?