지점과 지점이 얽혀 있는 문제를 풀어내는 자료구조
public class Test263 { public static void main( String[] args ) { int[][] map = { { 0, 1, 0, 1 }, // 0의 입장 { 1, 0, 0, 0 }, // 1의 입장 { 0, 0, 0, 1 }, // 2의 입장 { 1, 0, 1, 0 } // 3의 입장 }; // 위와 동일한 코드 int[][] map2 = new int[4][4]; map2[0][1] = map2[1][0] = 1; // 0과 1 연결 map2[0][3] = map2[3][0] = 1; // 0과 3 연결 map2[2][3] = map2[3][2] = 1; // 2와 3 연결 // for( int i = 0 ; i < map2.length ; i++ ) { // map2.length : 행의 길이 StringBuffer sb = null; // map2[i].length : i 번째 행의 열 길이 for( int j = 0 ; j < map2[i].length ; j++ ) { sb = ( sb == null ? new StringBuffer() : sb.append(' ') ); sb.append( map2[i][j] ); } System.out.println( sb.toString() ); } } }
spot
: 지점
public class Test264 { public static void main( String[] args ) { int[][] map = new int[4][]; map[0] = new int[]{ 1, 2 }; map[1] = new int[]{ 3, 4, 5 }; map[2] = new int[2]; map[3] = new int[]{ 6 }; // for( int i = 0 ; i < map.length ; i++ ) { for( int j = 0 ; j < map[i].length ; j++ ) { System.out.print( map[i][j] + " "); } System.out.println(); } // 배열 생성 방식 int[] t = null; int[] r = new int[4]; int[] p = {1,2,3}; } }
java의 배열은 참조형 변수, 즉 포인터 역할을 한다.( null 값 대입 가능 )