성장 일기/쌍용교육센터 / / 2022. 12. 20. 10:34

1220/배열

쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.

 

이차원 배열의 한 행은 일차원 배열로 이루어져있다.

일차원 배열의 열, 이차원 배열의 열은 단일형으로 이뤄져 있다.

int[][] arr = new int[2][3];

int i = arr[0][0];
//이차원 배열의 한 행은 일차원 배열과 같기 때문에
//일차원 배열에 할당할 수 있다.
int [] temp = arr[0];

public void test(int[] temp){
	temp 사용 => 이차원 배열의 한 행을 사용
}
//test (arr[0])

 

삼차원 배열

면, 행, 열로 구성된 배열

면의 수 : 배열명.length

행의 수 : 배열명[면의 번호].length

열의 수 : 배열명[면의 번호][행의 번호].length

 

문법)

1. 선언)

데이터형[][][] 배열명 = null;

int[][][] arr = null;

 

2. 생성)

배열명 = new 데이터형[면의 수][행의 수][열의 수];

arr= new int[2][2][3]; //2행 3열 배열이 2개 있다.

3. 값 할당)

배열명[면][행][열] = 값;

arr[0][0][0] = 10;
arr[1][0][0] = 10;

 

4. 값 사용)

배열명[면][행][열]

arr[0][0][0]을 사용하면 10값이 나온다.

 

일괄처리 

for(int i = 0; i<배열명.length; i++){

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

     for(int k = 0; i<배열명[i][j].length; k++){

        배열명[i][j][k]

     }

  }

}

 

삼차원 배열의 기본형 형식 사용

면 구분 괄호, 행 구분 괄호 사용

 

문법)

데이터형[][][] 배열명 = new 데이터형[][][]{ { {값,},} , { { 값,},}  };

선언과 생성 동시에 하면 생략 가능

int[][][] arr = new int[][][]{ {{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}} }

 

가변배열

이차원 배열이나 행마다 열의 개수가 다른 배열

행의 수 : 배열명.length

열의 수 : 배열명[0].length

 

작성법

선언

데이터형[][] 배열명 = null;

int[][] arr = null;

 

2. 생성 열의 수를 설정하지 않는다.

배열명 = new 데이터형[행의 수][];

arr = new int[4][];

 

3. 행마다 열을 생성)

배열명[행의 번호]=new 데이터형[열의 수];

arr[0] = new int[4];

arr[1] = new int[1];

arr[2] = new int[] { 1,2,3 };

arr[3] = new int[]{1,2};

 

4. 값 할당

배열명[행의 번호][열의 번호] = 값;

 

 

5. 값 사용

배열명[행의 번호][열의 번호]

 

일괄처리

for(int i = 0; i<배열명.length; i++){

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

배열명[i][j]

 }

}

 

기본형 형식 사용

행구분 괄호 사용에 열의 개수를 다르게 묶으면 된다.

 

문법

데이터형[][] 배열명 = {{값,,},{,},{,,,}};

int[][] arr = {{0,0,0,0},{0},{1,2,3},{1,2}}

 

객체배열

나이를 여러 개 저장 => int[]

이름을 여러 개 저장 => String[]

주소를 여러 개 저장 => String[]

키를 여러 개 저장 => double[]

 

학생의 정보를 여러 개 저장 => 객체 배열 (하나의 방에 여러 개의 데이터가 들어간다.)

public class DataVO{

private String name;

private int age;

 

getter method

setter method

}

 

배열 생성

DataVO[] dv = new DataVO[3];


방값 할당 0번쨰 방에 넣었다.

dv[0] = new DateVO();

//setter 메소드 호출 값 할당

dv[0].setName("엄태영");

dv[0].setAge(20);

 

개선된 for를 사용한 배열 모든 방 출력

 

일차원 배열 출력 (일차원 배열의 열은 단일 데이터형으로 이루어져있다.)

 

for(데이터형 배열방의 값을 저장할 변수 명 : 배열명) {

변수명

}

int arr[] = {1,2,3,4,5};//배열의 각방은 int형으로 이루어져 있다.

for(int i : arr){

System.out.println(i);

}

 

double arr[] = {22.12, 22.13, 22.25 };//각방은 double

for(double d : arr){

System.out.println(d);

}

 

배우고 느낀점

다차원 배열, 가변 배열, 객체 배열을 배웠다.

저번에 배우고 싶었던 객체 배열에 대해 알아보았고

각각의 객체 배열의 인덱스마다 값들을 부여하면

다르게 부여되고 각각의 값을 가지는 점이 좋은 거 같다.

 

 

'성장 일기 > 쌍용교육센터' 카테고리의 다른 글

1222/Override, Interface  (0) 2022.12.22
1221/상속  (0) 2022.12.21
1219/배열  (0) 2022.12.19
1216/String  (0) 2022.12.16
1215/클래스, 생성자  (0) 2022.12.15
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유