我有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类的情况下完成此操作
答案 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个对象引用 有序的输入数组。