通过在Java不同值排序的BufferedWriter串输出

问题描述 投票:0回答:1

我有这样的功能:

它让我的一切,我想要的数据,但我需要在工作时间的排序输出。我无法弄清楚如何我得到的数据进行排序。

任何提示赞赏。

raportBtn.setOnAction(event -> {

      Writer writer=null;
      try {
          File file = new File("C:/user/raport.txt");
          writer = new BufferedWriter(new FileWriter(file));
          for(Employee emp:listOfEmployees){
              String text = emp.getName() + " " + emp.getSurname()+ " " + emp.getRoom() + " " + emp.getWorkStart() + " " + emp.getWorkEnd() + " " + emp.getWorkTime() + "\n";
              writer.write(text);
          }
      } catch (IOException e) {
          e.printStackTrace();
      } finally{
          {
              try{
                  writer.flush();
              }catch(IOException e){
                  e.printStackTrace();
              }
              try{
                  writer.close();
              }catch(IOException e){
                  e.printStackTrace();
              }
          }
      }
  });
java sorting bufferedwriter
1个回答
0
投票

你需要的一切是实现一个比较。比方说,你要排序按年龄(升序)名单。然后:

import java.util.Comparator;
public class EmployeesComparator implements Comparator<Employee> {

  @Override
  public int compare(Employee o1, Employee o2) {
    return o1.age - o2.age;
  }
}

然后,你可以使用它像这样:

Collections.sort(listOfEmployees, new EmployeesComparator());

希望帮助!

© www.soinside.com 2019 - 2024. All rights reserved.