본문 바로가기
멘토씨리즈 자바/이론

[핵심정리] 배열

by Hwanii_ 2023. 5. 28.
728x90

SECTION 06 - 배열

175 page.

 

1. 배열

: 같은 타입의 데이터를 여러 개 저장할 수 있는 자료 구조.

 

2. 배열의 선언

:

int[] arr = new int[크기];

 

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

 

3. index

: 생성된 배열의 위치 값을 말함. index는 0부터 시작.

 

4. 배열의 길이

: 배열이 가지고 있는 length 값으로 배열의 길이를 알 수 있음.

 

5. Arrays

: 배열을 지원하는 클래스로 배열과 관련된 다양한 기능을 가짐.

 

6. 다차원 배열

: 배열은 다차원 배열을 만들 수 있다.

다차원 배열 중에서 행렬 구조로 사용되는 2차원 배열이 주로 사용.

 

7. 다차원(2차원) 배열의 선언

:

int[][] arr = new int[크기][크기];

 

int[][] arr = {

                     {1, 2}

                     {3, 4}

                     {5, 6} 

                               } 

 

8. 향상 for 문

:

 

for(int num : score) {

           실행코드

}

 

int => 데이터 타입

 

num => 변수명

 

score => 반복 대상

 

예시

 

ProductVO 타입의 배열리스트 datas

 

 

1.

밖에서 객체묶음으로 가져온 pVO 객체의 이름을 기존의 ProductVO의 배열리스트 안의 객체들이

그 해당 이름을 포함하고 있는지를 확인 하는 상황.

 

2.

return 값으로, ProductVO 타입의 배열리스트를 토해내기 위한 용도로만 사용하기 위해 임시로 객체를 생성.

ArrayList<ProductVO> 참조변수 = new ArrayList<ProductVO>();

 

3. 

for each 문을 사용한 모습.

기존의 ProductVO의 배열리스트 datas를 for문 안에서 차례대로 참조변수 v에 담을거야.

근데 참조변수 v의 타입은 ProductVO야. 왜? datas가 ProductVO 타입이니까.

 

4.

배열리스트 datas를 차례대로 참조변수 v에 넣을건데,

첫번째 루프때, v에 들어간 datas 객체의 이름이 

contains() 하고 있니 ?

어떤것을 ?

밖에서 얻어온 객체가 가지고 있는 이름을 ~

 

갖고 있으면, 임시 배열리스트 searchData 참조변수에 add(v)를 해.

 

5.

그렇게 루프를 계속 하면서, if문의 조건에 해당하는 객체가 있으면

그것을 임시 배열리스트 searchData 참조변수에 넣으라는 말이다.

== 배열리스트에 객체를 있는만큼 추가.

 

6. 그렇게 해서 임시 배열리스트의 참조변수 searchData 자체를 return 한다.

 

정리 :

 

반복문과 배열은 아주 밀접한 관계를 이루고 있다.

 

향상 for 문의 동작 원리

 

ArrayList<ProductVO> searchData = new ArrayList<ProductVO>();

for(ProductVO v : datas) {
	if(v.getName().contains(pVO.getName())) { // 실행문 (반복문)
    	searchData.add(v);
    }
}

   

콜론 (:) 뒤에 따라오는 데이터 datas에 담겨있는 값들을

실행문이 동작할 때마다,

꺼내서,

v라는 (참조)변수에다가,

담는다.

 

 

반응형

'멘토씨리즈 자바 > 이론' 카테고리의 다른 글

[핵심정리] 메서드  (0) 2023.06.01
[핵심정리] 클래스  (0) 2023.05.30
[핵심정리] 제어문-2  (0) 2023.05.28
[핵심정리] 제어문-1  (0) 2023.05.28
[핵심정리] 연산자  (0) 2023.05.28