Сохраните все свои записи в 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);
}