我正在尝试对文本文件中的数据进行排序。文件的每一行都包含以下字段:
name,surname,age,weight,height
我试图通过使用Peter Dolberg's Java code拆分每行-但不适用于重复的键。我该怎么办?
最佳答案
一种简单的方法是使用实例变量名称,姓氏,年龄,重量,高度创建一个类PersonalInfo。还要编写他们的getter和setter方法。
然后创建一个PersonalInfo对象数组(通过从文件读取)。
PersonalInfo employeeInfo[] = new PersonalInfo[3];
然后根据您要比较的基础定义一个比较器。例如年龄-
class AgeComparator implements Comparator{
public int compare(Object ob1, Object ob2){
int ob1Age = ((PersonalInfo)ob1).getAge();
int ob2Age = ((PersonalInfo)ob2).getAge();
if(ob1Age > ob2Age)
return 1;
else if(ob1Age < ob2Age)
return -1;
else
return 0;
}
}
然后,您可以简单地使用此比较器对数据进行排序。
Arrays.sort(employeeInfo, new AgeComparator());
如果您希望在考虑所有因素的情况下对数据进行排序,则可以将该逻辑添加到Comparator类中。