在groovy中迭代地图会显示null

时间:2017-08-10 09:56:18

标签: csv dictionary groovy iteration

为什么从大型csv文件中获取的地图会在迭代时打印空值,如下所示:

@Grab('com.xlson.groovycsv:groovycsv:1.1')
import static com.xlson.groovycsv.CsvParser.parseCsv 
import com.sun.rowset.internal.Row 

def csv="srcev.csv" 
def df = new FileReader(csv) 
def data = parseCsv(df, readFirstLine: true) 

def csvMap1 = [:]
int j=0;

for (def row : data) {
    csvMap1[row.values[0]] = row.values[1]
    j++;
}

for (i=0;i<=j;i++) {
    println csvMap1.keySet().value[i]
}

输出:

value1
value2
null
null
null
.
.
.

直到csv的结尾,它打印为null,但实际上csv还有另一个值。

注意:此迭代仅影响大文件。对于小型csv文件,它运行良好。

0 个答案:

没有答案