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

标签 java sorting text split

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

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 类中。

关于java - 如何使用Java对文本文件中的数据进行排序?第 2 卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16632653/

相关文章:

linux - 通过管道 awk 进行排序无法正确排序

java - 修改了冒泡排序,但无法正常工作

c++ - 结构节点类数组中的 lower_bound

c - 使用一些输入测试 C 程序

c# - 控制查看包含大量文本的文件

java - JFormattedTextField 是在焦点上添加字符

java - java OOP 中没有构造函数的后果

java - 需要帮助来获取 listitem 在 onClickListener 中的位置

html - 类似字幕的垂直滚动文本(+停止)

java - 将 JSON 值数组解析为 POJO