如何使用Java对文本文件中的数据进行排序?卷#2

时间:2013-05-19 08:15:27

标签: java sorting text split

我正在尝试对文本文件中的数据进行排序。该文件的每一行都包含以下字段:

name,surname,age,weight,height

我尝试使用Peter Dolberg's Java code拆分每一行 - 但它不适用于重复键。我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

简单的方法是创建一个类 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类中。