--- id: java-arrays-multi title: "Java Arrays Multi" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["multidimensional arrays", "자바 다차원 배열"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.88 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["java", "programming", "w3schools", "arrays", "multidimensional"] raw_sources: ["https://www.w3schools.com/java/java_arrays_multi.asp"] applied_in: [] github_commit: "" --- # [[Java Arrays Multi]] ## 🎯 한 줄 통찰 (One-line insight) Java's 2D arrays are actually "arrays of arrays," not a fixed grid — each row can have a different length (a "jagged array"), which the source proves by showing `myNumbers[0].length` (3) differing from `myNumbers[1].length` (5) in the same array. [S1] ## 🧠 핵심 개념 (Core concepts) - **2D array literal** — `int[][] myNumbers = { {1, 4, 2}, {3, 6, 8} };` — each inner `{}` is one row. [S1] - **Two-index access** — `myNumbers[row][col]`; row index first, then column. [S1] - **Element mutation** — `myNumbers[1][2] = 9;` overwrites via the same two-index notation. [S1] - **`.length` for rows, `[row].length` for columns** — the outer array's length is row count; each row array has its own independent length. [S1] - **Jagged arrays are valid** — rows may have different lengths in Java. [S1] - **Nested loop traversal** — indexed double for-loop, or double for-each (`for (int[] row : myNumbers) { for (int num : row) {...} }`). [S1] ## 🧩 추출된 패턴 (Extracted patterns) - **Jagged array support** — unlike languages that enforce rectangular grids, Java explicitly allows rows of different lengths within the same 2D array — demonstrated with a 3-element row and a 5-element row coexisting. [S1] ## 📖 세부 내용 (Details) - Access element: `int[][] myNumbers = { {1, 4, 2}, {3, 6, 8} }; System.out.println(myNumbers[1][2]); // 8`. [S1] - Row/col sizes: `int[][] myNumbers = { {1, 4, 2}, {3, 6, 8, 5, 2} }; System.out.println(myNumbers.length); // 2 (rows) ... myNumbers[0].length; // 3 ... myNumbers[1].length; // 5`. [S1] - Nested for: `for (int row = 0; row < myNumbers.length; row++) { for (int col = 0; col < myNumbers[row].length; col++) { System.out.println("myNumbers[" + row + "][" + col + "] = " + myNumbers[row][col]); } }`. [S1] - Nested for-each: `for (int[] row : myNumbers) { for (int num : row) { System.out.println(num); } }`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) - **불규칙 배열(jagged array) 허용**: 행마다 길이가 달라도 유효하다는 점이 예제로 명확히 검증됨. [S1] ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — 표/행렬 형태 데이터 저장 및 순회의 표준 구조다. [S1] ## 💻 코드 패턴 (Code patterns) Nested for-each over a jagged 2D array (Java): ```java int[][] myNumbers = { {1, 4, 2}, {3, 6, 8, 5, 2} }; for (int[] row : myNumbers) { for (int num : row) { System.out.println(num); } } ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.88 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[Java Tutorial]] - **관련 개념:** [[Java Arrays]], [[Java For Loop Nested]], [[Java Methods]] - **참조 맥락:** 표/행렬 데이터 구조 — Methods 챕터로 이어짐. ## 📚 출처 (Sources) - [S1] W3Schools — Java Multi-Dimensional Arrays — https://www.w3schools.com/java/java_arrays_multi.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Java Multi-Dimensional Arrays" page (Astra wiki-curation, P-Reinforce v3.1 format).