Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何迭代行的迭代器_Java - Fatal编程技术网

Java 如何迭代行的迭代器

Java 如何迭代行的迭代器,java,Java,我想迭代我的迭代器的前几行,我尝试如下迭代所有文件: Dataset<Row> DF = spark.read().format("csv").load("longfile.csv"); Iterator<Row> iter = DF.toLocalIterator(); while (iter.hasNext()) { // i want a condition here to iterate only over the 20

我想迭代我的迭代器的前几行,我尝试如下迭代所有文件:

Dataset<Row> DF = spark.read().format("csv").load("longfile.csv");
Iterator<Row> iter = DF.toLocalIterator();


while (iter.hasNext()) { // i want a condition here to iterate only over the 20 first lines of my CSV
    Row item = iter.next();
    System.out.println(item);
}


    
Dataset DF=spark.read().format(“csv”).load(“longfile.csv”);
迭代器iter=DF.tolocaterator();
while(iter.hasNext()){//我希望这里有一个条件,只在CSV的前20行上迭代
行项目=iter.next();
系统输出打印项次(项);
}
我的问题是如何将迭代限制为仅20次?
谢谢

我建议在计数完成后使用int计数和break:

Dataset<Row> DF = spark.read().format("csv").load("longfile.csv");
Iterator<Row> iter = DF.toLocalIterator();

int count = 0;

while (iter.hasNext()) { // i want a condition here to iterate only over the 20 first lines of my CSV
    count++;
    Row item = iter.next();
    System.out.println(item);
    if(count > 20) break;
    
}
Dataset DF=spark.read().format(“csv”).load(“longfile.csv”);
迭代器iter=DF.tolocaterator();
整数计数=0;
while(iter.hasNext()){//我希望这里有一个条件,只在CSV的前20行上迭代
计数++;
行项目=iter.next();
系统输出打印项次(项);
如果(计数>20)中断;
}

好的,如果没有其他解决方案,我将接受您的回答作为我问题的解决方案。谢谢如果您希望在while循环的顶部设置条件,那么您可以使用此答案,但在while条件中移动条件,如:
while(iter.hasNext()&&count>20)
在while循环中使用这种机制实际上产生了一个错误@玛斯尼科尔,你是welcome@marcnicole按照@MedElgarnaoui所示的标准做法,我们基本上是模仿一个上限为20的
for
循环