我们有一组无序的值,如下所示:
Name cost
--------- - - - - -
Bbb 100-500
Ccc 500+more
Aaa 1-100
我们希望以下面的格式显示上述值(按成本排序)。
Name cost
--------- - - - - -
Aaa 1-100
Bbb 100-500
Ccc 500+more
是否有任何可能的方法使用Java或任何最佳排序方式进行自定义排序。
请帮我解决这个问题。
答案 0 :(得分:0)
Java有一个名为Comparator的东西,用于对事物进行排序。
在比较器中,您可以定义用于排序的属性。例如,要按成本排序,您可以使用以下示例。根据属性的类型,您可以使用compareTo或以其他方式编写自己的排序逻辑(请参阅比较器文档)。
class MyComparator implements java.util.Comparator<MyObject> {
@Override
public int compare(MyObject o1, MyObject o2) {
return o1.cost.compareTo(o2.cost);
}
}
List<MyObject> items = new ArrayList<>();
items.sort(new MyComparator());
// Or use a lambda instead
items.sort((o1, o2) -> o1.cost.compareTo(o2.cost));