1
public void addTrainRecords(TrainData t){

    OpenFile();

    TrainData current = null;
    current = readRecord();

    while(current != null){

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



    //closeFile();
}

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

示例 的 TrainData 对象
我添加火车编号 3
然后添加火车编号 1
我希望它在将记录添加到文件时排序为 1 然后 3
有人知道该怎么做吗?请帮助
谢谢

4

1 回答 1

0

将所有记录存储在 aList<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);
}
于 2012-02-26T14:11:38.910 回答