【问题标题】:How to add record and auto sort sequential file in java?如何在java中添加记录和自动排序顺序文件?
【发布时间】:2012-02-26 14:08:47
【问题描述】:
public void addTrainRecords(TrainData t){

    OpenFile();

    TrainData current = null;
    current = readRecord();

    while(current != null){

        current = readRecord();
    }
    writeRecord(t);



    //closeFile();
}

我需要按顺序添加记录和自动排序记录数据 现在我按顺序将记录添加到文件中,但尚未排序。 我的记录是具有订单号的 TrainData 对象

示例
我添加了 3 号火车
然后添加 1 号列车
我希望它在将记录添加到文件时排序为 1 然后 3
有人知道怎么弄吗,请帮忙
谢谢

【问题讨论】:

    标签: java file add record sequential


    【解决方案1】:

    将所有记录存储在List<TrainData> 中,使用Collections.sort() 对列表进行排序,然后遍历列表并将每条记录写入文件。

    或者像现在这样读取每条记录。在每次迭代中,如果新记录尚未写入,则将当前记录与新记录进行比较,如果大于新记录,则写入新记录,然后写入当前记录。在循环结束时,如果新记录还没有写入,则写入。

    TrainData current = null;
    boolean newRecordWritten = false;
    for (current = readRecord(); current != null; current = readRecord()) {
        if (!newRecordWritten && firstBiggerThanSecond(current, t)) {
            writeRecord(t);
            newRecordWritten = true;
        }
        writeRecord(current);
    }
    
    if (!newRecordWritten) {
        writeRecord(t);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 2018-04-25
      • 2022-01-24
      相关资源
      最近更新 更多