Java 如何使用比较器和集合以不同的方式对文本文件进行排序?(爪哇)?
有什么想法吗?如何使用比较器和集合以不同的方式对文本文件进行排序?(Java)?您几乎完全正确: 要比较整数,请使用以下命令:Java 如何使用比较器和集合以不同的方式对文本文件进行排序?(爪哇)?,java,Java,有什么想法吗?如何使用比较器和集合以不同的方式对文本文件进行排序?(Java)?您几乎完全正确: 要比较整数,请使用以下命令: Integer.compareTo(int1, int2); new Comparator< EmployeeFX >(){ @Override public int compare(EmployeeFX o1, EmployeeFX o2) { return Integer
Integer.compareTo(int1, int2);
new Comparator< EmployeeFX >(){
@Override
public int compare(EmployeeFX o1, EmployeeFX o2) {
return Integer.compare(o1.getId(), o2.getId());
}
};
要比较字符串,请使用:
string1.compareTo(string2);
对于布尔类型,请使用:
Boolean.compare(boolean1, boolean2);
因此,比较器类将如下所示:
Integer.compareTo(int1, int2);
new Comparator< EmployeeFX >(){
@Override
public int compare(EmployeeFX o1, EmployeeFX o2) {
return Integer.compare(o1.getId(), o2.getId());
}
};
新的比较器(){
@凌驾
公共整数比较(EmployeeFX o1,EmployeeFX o2){
返回整数.compare(o1.getId(),o2.getId());
}
};
Comparator基本上用于创建多个排序序列。可以使用任何属性对对象进行排序
仅举一个例子供您参考
public int compare(EmployeeFX emp1, EmployeeFX emp2) {
return (emp1.getId() < emp2.getId()) ? -1
: (emp1.getId() > emp2.getId()) ? 1 : 0;
}
public int比较(EmployeeFX emp1,EmployeeFX emp2){
返回值(emp1.getId()emp2.getId())?1:0;
}
您的期望产量是多少
在这种情况下,你会得到按薪水排序的数据(这是你最后一次排序)。之前的所有排序都变得无关紧要。谢谢!但是,我如何命名该方法,以便下面的代码行“outputData(“按受薪顺序输出”)、list、EmployeeOrdering.EMPLOYEE_ID);”可以工作?当我尝试将该方法命名为“new Comparator EMPLOYEE_ID”时,该程序不起作用。好的,谢谢!但是我应该给这个比较器起什么名字,这样我就可以在我的驱动程序类中引用它了?(例如,使用代码行EmployeeOrdering.EMPLOYEE_ID)。我还想知道如何将ID号传递给比较器,以便它知道如何按ID排序?