如何在处理到下一条记录之前清除列表中的数据

时间:2018-01-25 09:08:14

标签: java list arraylist collections

我有一个列表,让我们说3条记录。我正在使用for循环处理第一条记录并生成结果。如何在处理其他两条记录之前删除第一条记录。请在下面找到我的代码:

public void processDataToResultantCsv(List<OutputCsvDataDto> outputDataList) 
  {
    List<String> files = this.getOutgoingFileName();
    for (String fileName : files) {
        this.outgoingFilepath = 
        this.renameFilePathWithDate(this.outgoingFilepath);
        new File(this.outgoingFilepath.trim()).mkdirs();
        fileName = this.outgoingFilepath + "/" + fileName;
        log.info("Output csv name : " + fileName);
        this.writer.writeToCsv(outputDataList, fileName);
        this.backupFile(fileName, this.fileBackupPath);
        }
 }

files对象有3条记录。它处理文件对象中第一个文件的记录。读取第二个对象但仍有第一个对象的数据。如何在处理第二个记录之前清除第一个记录的数据? ??

1 个答案:

答案 0 :(得分:4)

您可以使用Iterator。 我们假设您要删除循环给出的当前String

Iterator<String> filesIterator = this.getOutgoingFileName().iterator();
while(filesIterator.hasNext()) {
    String fileName = filesIterator.next();
    //TODO do your stuff
    filesIterator.remove(); //Removes it from the List<String> (getOutgoingFileName())
}