ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (3)







ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (3)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



배열의 메소드 (3)


■ GetLowerBound(차원)

   GetUpperBound(차원)

  - 해당 차원의 첫/마지막 index를 반환한다.


■ IndexOf(array, 찾을값)

   LastIndexOf(array, 찾을값)

  - “찾을값”을 검색하여 그 index를 반환한다. IndexOf는 앞에서 부터, LastIndexOf는 뒤에서 부터 검색



예제)

IndexOf의 구현

(2차원 배열에서의 IndexOf를 구현해 보자)

아래 배열을 구성한다.

11 12 13

21 22 23

31 32 33


for 문을 이용하여 값이 23인 element의 배열 인덱스를 구해보자.



ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (2)






ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (2)


실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


배열의 메소드 (2)


■ Clone() : 복사본을 만드는 메소드

 - 배열 i가 있을때 이것을 j에게 복사하려면 j = i.Clone() 이라고 명령해준다.


 - 만약 j=i라고 한다면 j는 i와 같은 객체를 가리키게 된다. 즉, i의 값을 조작하면 j의 값도 조작되게 된다.



■ GetLength(차원)

 - 배열의 rank번째 길이를 구한다. [3,3] 배열이라면, GetLength[0] = 3이고 GetLength[1] = 3이다.



ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (1) – 정적메소드






ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (1) – 정적메소드


실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



배열의 메소드 (1) – 정적메소드


■ Array.Sort(arrayName)

: 배열을 오름차순으로 정렬

: < > 비교연산이 정의되어 있어야 함



■ Array.Reverse(arrayName)

: 배열내의 순서 뒤집기



■ Array.Clear(arrayName, start, length)

: element들을 0, null 으로 초기화한다.


ASP/ADO.Net C# 실무 과정 자료] 배열의 탐색






ASP/ADO.Net C# 실무 과정 자료] 배열의 탐색

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


배열의 탐색


■ 프로퍼티(property)

  - 배열.Length : 배열의 크기

  - 배열.Rank : 배열의 차원



■ 배열을 탐색하는 방법

for (int i=0; i<배열.Length; i++)

{배열[i]에 대한 작업}

foreach (int item in 배열) {item에 대한 작업}



■ 2차원 이상에서의 탐색

for (int i=0; i<배열.GetLength(0); i++)

for (int j=0; j<배열.GetLength(1); j++)

{배열[i,j]에 대한 작업}


ASP/ADO.Net C# 실무 과정 자료] 불규칙 배열






ASP/ADO.Net C# 실무 과정 자료] 불규칙 배열


실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


불규칙 배열


(예) 삼각형 모양의 배열

11

21  22

31  32  33


어떻게 만들까?

int [][] myArray = new int [3][]

myArray[0] = new int[1] {11};

myArray[1] = new int[2] {21,22};

myArray[2] = new int[3] {31,32,33};

객체를 배열로 묶고 그 배열을 다시 배열로 묶어주는 방법을 쓴다.


ASP/ADO.Net C# 실무 과정 자료] 배열의 index 접근






ASP/ADO.Net C# 실무 과정 자료] 배열의 index 접근


실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


배열의 index 접근


int [] a = new int[3]{1,2,3}

■ 위의 식은 아래와 같이 바꿀 수 있다.

int [] a;


a[0]=1; a[1]=2; a[2]=3;


■ 배열명[index] 라고 쓰면 그 배열의 index순서에 있는 element를 뜻한다. 주의 할 것은 첫번째 element의 index가 0이란 점이다.



■ 배열의 유효 index 범위를 넘는 index를 사용하면 IndexOutOfRangeException예외가 발생한다. (예외 처리 부분 참고)


ASP/ADO.Net C# 실무 과정 자료] 배열 정의하기






ASP/ADO.Net C# 실무 과정 자료] 배열 정의하기

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



배열 정의하기


■ 배열 정의하기

int [] myArray; //선언

myArray = new int[3] {1,2,3}//인스턴스화

 두개를 함께

int [] myArray =  new int[3] {1,2,3}


■ 다차원 배열 정의

int [,] myArray

= new int[2,3] {{11,12,13},{21,22,23}}

int [,,] myArray //←  3차원



배열 정의하기 주의사항 * 


■ 배열의 크기와 { } 안의 element 개수가 일치해야 한다.


■ [3,2] 의 2차원 배열이라면 2개 짜리가 3개 있다는 뜻임. 즉 { {11,12}, {21,22}, {31,32} } 와 같이 요소를 넣어주어야 한다.


■ 배열에 들어갈 element를 중간에 바꾸거나, 또는  { }를 쓸 수 있을 정도로 고정된 값이 아니라면 index를 이용하여 접근한다.( →뒷장에 설명)


■ 배열의 크기는 run-time 에 바꿀 수 있다. (C에서는 동적 할당을 이용했음)

ASP/ADO.Net C# 실무 과정 자료] Definition of Array






ASP/ADO.Net C# 실무 과정 자료] Definition of Array

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


Definition of Array


■ Array?

  - 같은 데이터 형식을 갖는 다수의 객체를 묶어둔 큰 객체



■ 용어

  - Element – 배열에 들어있는 각각의 데이터들


  - Index – 몇번째 데이터인가?


  - Length  – 몇 개의 데이터를 담고 있는가?


  - Rank  – Index가 몇 개인가?



+ Recent posts