【发布时间】:2025-12-18 01:30:01
【问题描述】:
我正在研究一种对具有两个参数的数据进行排序的方法:
一个通用的
ArrayList和一个Comparator的实例。
public static <T> void insertionSort(ArrayList<T> array, Comparator<T> c) { ... }
我想让用户决定是按降序还是升序排序。我可以通过以某种方式将符号传递给Comparator 来做到这一点吗?我问这个是因为我无法将其他参数添加到我的函数中。
【问题讨论】:
-
Comparator c = "<".equals(order) ? lessComp : greaterComp?使用两个比较器并根据参数简单地编写一个 getter 逻辑。您也可以使用Comparator.reversed而不是写两个。但想法是一样的 -
请分享您的代码。
-
我编辑了问题
-
根据用户输入传递
comparator或comparator.reversed()。 -
你可以编写自己的Comparator类,一个返回
first - second,另一个返回second - first。
标签: java algorithm sorting methods comparator