我試着這樣做:如何遍歷int [] []?
for (int i=0; i<matrix.length; i++) {
for (int j=0; j<matrix[].length; j++) {
但是,這並不工作:(
我試着這樣做:如何遍歷int [] []?
for (int i=0; i<matrix.length; i++) {
for (int j=0; j<matrix[].length; j++) {
但是,這並不工作:(
只是索引使用當前行的矩陣
for (int i=0; i<matrix.length; i++) {
for (int j=0; j<matrix[i].length; j++) {
// code
}
}
這甚至在因素。 jagged array的可能性(即列中行數不一致的矩陣)。
for (int i=0; i<matrix.length; i++) {
for (int j=0; j<matrix[i].length; j++) {
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++) {
請注意,緩存數組長度將僅在數組不會在循環中調整大小時才起作用。 – Bitsplitter 2010-11-08 22:49:22
的確如此。如果你不改變尺寸,但只是閱讀或寫作,這很好。 – 2010-11-08 22:51:52
好實際上,如果它是一個方形矩陣,那麼很容易 – Devoted 2010-11-08 22:25:20