如何在JAVA中的ArrayList中合并对象

时间:2018-12-04 05:49:09

标签: java arraylist mergesort

我有BookData,它具有int ID和字符串名称

编码为

bookData book = new bookData(1,"Ethan");
bookData book = new bookData(3,"Queen");
bookData book = new bookData(2,"BOB")

ArrayList al = new ArrayList();
al.add(book);

如何使用合并排序对ArrayList中的ID进行排序?

我真的需要在不使用Collections类和Arrays类的情况下完成此操作

1 个答案:

答案 0 :(得分:0)

除了使用正确的语法外,您还可以按照以下方式执行List.sort

List<BookData> al = new ArrayList<>(); // initialise as you will ; renamed class name as 'BookData'
al.sort(Comparator.comparingInt(bookData::getId));

自行执行迭代合并排序。根据实施说明-

  

此实现是一种稳定,自适应,迭代合并排序   当输入数组为时,所需的比较少于n lg(n)次   部分排序,同时提供传统的性能   输入数组随机排序时的mergesort。如果输入数组   几乎排序,实施大约需要n   比较。临时存储要求从很小的常量开始变化   用于将几乎排序的输入数组随机转换为n / 2个对象引用   有序的输入数组。