본문 바로가기

자바(JAVA)

배열공부하기

배열이란 -> 동일한 타입의 값들을 순서대로 하나의 묶음으로 묶은 자료구조 (참조 타입이다). 

요소 -> 배열이 가진 각 값들

인덱스 -> 배열의 각 요소가 부여받는 순번

 

배열을 선언하고 초기화를 하는방법은 

  int[] arrExample = new int[인덱스넘버];

  int[] arrExample = {1,3,4,6,8,7,9};

 

배열의 값에 접근하려면 arrExample[인덱스], 배열의 길이를 알고 싶을땐 arrExample.length

마지막 인덱스 넘버를 알고 싶을땐 arrExample.length-1을 해주면 마지막 인덱스를 알수 있다.

 

배열의 차원이란? -> 배열이 중첩된 정도에 따라 1차원인지, 2차원인지 구별이 가능하다.

 

2차원 배열과 초기화 방법은

  int[][] arryExample = new int [외부배열][내부배열];

  int[][] arryExample = { {1982, 2098, 3340, 4232}, {2382, 3495, 2372, 3848} };

 

가변배열이란 -> 배열이 2차원 이상일때, 마지막 차수에 해당하는 배열의 길이를 고정하지도 않아도 된다.

 

배열을 탐색하려면 배열의 길이나, 반복문을 사용해 주면 된다.

 

배열을 복사하려면 

 System.arraycopy(원본배열, 원본 배열의 복사 시작 지점, 복사할 배열, 복사할 배열의 복사 시작 지점, 복사할 요소의 개 수)

Arrays.copyOf(원본배열, 원본 배열에서 복사해올 길이)

를 해주면 된다.

 

배열내용을 출력할땐 

Arrays.toString() 을 사용해 줘야한다 그냥 to String 을 하면 주소값이 출력된다

 

 

 

더 공부해야하는 내용들

 가변배열의 개념은 알겠으나 어떻게 사용되는지는 아직 잘 모르겠다.

 

오늘의 느낀점

오늘은 배열을 이용한 코플릿을 풀어봤다.

아직 다 풀진 못했지만 주말까지 풀 예정이다.

문제를 풀면서 생각보다 내가 length 와 인덱스를 헷갈려하는걸 발견했고 for문을 돌리면서 배열의 요소를 가져와서 해결하는 부분, 조건을 충족하고 새로운 배열에 값을 집어넣는걸 어려워 한다는걸 발견했다.

점점 어려워진다... 내 자신 화이팅!