티스토리 뷰


int[][] s = new int[2][3];
		
		for (int i=0; i<s.length; i++) {
			for (int k=0; k<s[i].length; k++) {
				System.out.println(s[i][k]);
			}
		}

int[][][] s = new int[3][4][5];


s.length ->면 수

s[1].length ->해당 면의 행 수

s[1][0].length ->해당 면, 행의 열의 수 




  • System.arraycopy()메소드를 이용해 배열 복사하기
		System.arraycopy(src, srcPos, dest, destPos, length);
		//1, 2: 원본의 배열 명, 원본 배열에서 복사할 항목의 시작 인덱스 
		//3, 4, 5: 복사 대상에 대한 배열 명, 위치값, 몇 개를 복사할 지 복사될 갯수


  • 간단하게 실습해보자
  • 	//배열 복사 
    	public void ex2() {
    		// 2)기본형 배열을 복사한 후 출력
    		int[] a = {1,2,3,4,5};
    		int[] b = new int[10];
    		//배열이 넘칠 때 더 큰 배열을 만들어서 옮겨주는 작업-실무
    				
    		System.arraycopy(a, 0, b, 2, a.length);
    		//1, 2: 원본의 배열 명, 원본 배열에서 복사할 항목의 시작 인덱스 
    		//3, 4, 5: 복사 대상에 대한 배열 명, 위치값, 몇 개를 복사할 지 복사될 갯수
    		System.out.println(Arrays.toString(a));
    		System.out.println(Arrays.toString(b));
    		
    		// 2) 참조형 배열을 복사한 후 출력
    		String[] c = {"홍길동","일지매","임꺽정","춘향이","향단이"};
    		String[] d = new String[10];
    		System.arraycopy(c, 0, d, 4, c.length);
    		System.out.println(Arrays.toString(c));
    		System.out.println(Arrays.toString(d));		
    	}
  • 향상된 for문
  • // 향상된 for문
    		for (int i=0; i<c.length; i++) {
    			System.out.println(c[i]);
    		}
    		for (String s : c) {		//s라는 변수에 c의 배열 값을 하나씩 넣고 출력한다
    			System.out.println(s);
    		}
    		
    		// 향상된 for문을 사용해서 배열 a를 출력하자
    		for (int z: a) {
    			System.out.println(z);
    		}




배열의 응용!

  • 오름차순(ascending)
  • 내림차순(descending)
  • 선택정렬(selected sort)
    • 첫번째 숫자를 피벗으로 정하고 1루프를 돌면 첫번째 배열에 가장 큰 수 혹은 가장 작은 수가 들어간다.
    • 1) a[0] > a[1] 라면 아래의 스텝 실행
      • temp = a[0];
      • a[0] = a[1];
      • a[1] = temp;        //a[0]에 가장 작은 수가 들어가는 로직
  • 버블정렬(bubble sort)


댓글