关于Java中的客户比较器

时间:2017-12-02 02:41:13

标签: java sorting

我有自定义class A

class A {
    String name;
    String address;
    String age;
}

ArrayList包含类A的对象。函数sortOnTheBasisOf()将从用户那里获得关于是否应该基于nameaddressage进行排序的输入。

现在,我知道为了排序,我需要实现Comparator;但是,由于排序可能需要根据姓名,地址或年龄进行,我如何实施Comparator以便它可以适用于所有人?

感谢。

1 个答案:

答案 0 :(得分:1)

您需要三种不同的比较器,您可以使用Comparator.comparing轻松创建它们,如果您的课程有吸气剂,那么它们将是:

Comparator.comparing(A::getName);
Comparator.comparing(A::getAddress);
Comparator.comparing(A::getAge);

根据输入,使用sortOnTheBasisOf()中的相应内容。