Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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 将foreach循环转换为for循环_Java - Fatal编程技术网

Java 将foreach循环转换为for循环

Java 将foreach循环转换为for循环,java,Java,我对Java真的很陌生,想知道是否有人能帮我将下面的foreach循环转换成for循环 假设表达式是项的集合: for(Type x: expression){ ... for(Type y: x.expression){ ..... } } 表达式需要是某种类型的项集合。for-item:items类型循环只是对所有项进行迭代 要手动循环集合,您只需要集合的长度,并且可以使用: for (int i = 0; i < collection.size();

我对Java真的很陌生,想知道是否有人能帮我将下面的foreach循环转换成for循环

假设表达式是项的集合:

for(Type x: expression){
   ...
   for(Type y: x.expression){
     .....
    }
}
表达式需要是某种类型的项集合。for-item:items类型循环只是对所有项进行迭代

要手动循环集合,您只需要集合的长度,并且可以使用:

for (int i = 0; i < collection.size(); i++) { // or .length() if it is an array
  Type item = collection.get(i); // or collection[i] if it is an array
}

Type必须是集合中项目的类型。

如果x是int,则没有意义。根据这段代码,x应该是可编辑的。问题中的代码不会编译forint y:x{…},因为x是一个int。这段代码是你刚刚提出的还是你从某处复制的?我只是根据我正在研究的其他东西对循环建模,正在寻找一个通用的解决方案。先用不同的类型编辑条件,然后得出一些可编译的结果。在这种情况下,嵌套的foreach循环如何工作?那么就嵌套它们吧。如果Type是另一个集合,则其工作方式相同。对于嵌套循环,只需使用i.g.j以外的内容,否则会被覆盖。编译器不会将增强的for语句转换为带有索引变量的for循环,因为这不会对非基于数组的列表执行,甚至对其他类型的集合也不起作用,因为它们没有getint方法。