你如何遍历int [] []?

时间:2010-11-08 22:24:03

标签: traversal

我尝试过:

for (int i=0; i<matrix.length; i++) {
  for (int j=0; j<matrix[].length; j++) {

但这不起作用:(

3 个答案:

答案 0 :(得分:8)

只需使用当前行索引矩阵。

for (int i=0; i<matrix.length; i++) {
  for (int j=0; j<matrix[i].length; j++) {
    // code
  }
}

这甚至会影响jagged array的可能性(即列中行数不一致的矩阵)。

答案 1 :(得分:5)

for (int i=0; i<matrix.length; i++) {
    for (int j=0; j<matrix[i].length; j++) {

答案 2 :(得分:2)

for (int i=0; i<matrix.length; i++) {
  for (int j=0; j<matrix[i].length; j++) {

请注意我添加的i

但是,最好在循环时缓存这两个长度,以避免在每个循环上重新评估,这样可以节省时间,只花费内存中的int(修复仍然适用):

for (int i=0, il=matrix.length; i<il; i++) {
  for (int j=0, jl=matrix[i].length; j<jl; j++) {