조회 수 15536 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

출처 : http://starcards.kr/50117963881


C#의 컬렉션 클래스이다.


1. ArrayList의 특징

  • 편하게 사용할 수 있는 배열이라 생각하면 된다.
  • 모든 데이터를 담을 수 있다.
  • 담은 데이터를 꺼내 사용할 때 형 변환을 해주어야 한다.
  • 따라서 다른 형태의 데이터를 담는다면 몇 번째에 어떤 형을 대입했는지 기억해야 한다.

2. ArrayList의 사용원칙

아래의 사용원칙을 반드시 지킬 필요는 없다. 때로는 지키지 않는 것이 더 효율적일 수 있다.

하지만 프로그램 버그의 개수를 줄이기 위하여 다음 사항은 준수하는 것이 좋다.

  • 같은 자료형을 담은 경우
    • foreach문을 사용한다.
    • Sort 명령어를 사용할 수 있다.
    • ArrayList 끼리 값 복사를 허용한다.
  • 다른 자료형을 담은 경우
    • foreach문을 사용하지 않는다.
    • Remove 함수를 사용하지 않는다.
    • 가능하면 함수간의 값 전달을 위한 매개변수 용도로 사용한다.
    • Sort 명령어를 사용하지 않는다.
    • ArrayList 끼리 값 복사를 한 경우 함수 내부에서의 Local 용도로 사용한다.

3. ArrayList에 데이터 추가

ArrayList tmpList = new ArrayList();

tmpList.Add( "국어점수" );

tmpList.Add( "80" );


4. ArrayList에서 데이터 삭제

ArrayList tmpList = new ArrayList();

tmpList.Add( "국어점수" );

tmpList.Add( 80 );

tmpList.Remove( 80 ); // 2번째 값을 제거 - 2개 이상의 80이 있을 때 처음 나오는 80을 제거한다.

tmpList.RemoveAt( 1 ); // 1번째 값을 제거


5. ArrayList에서 데이터 접근

ArrayList tmpList = new ArrayList();

tmpList.Add( "국어점수" );

tmpList.Add( 80 );

string tmpStr = (string) tmpList[ 0 ]; // 형 변환을 해준다.

int tmpInt = (int) tmpList[ 1 ];


6. ArrayList 정렬

ArrayList tmpList = new ArrayList();

tmpList.Add( 5 );

tmpList.Add( 3 );

tmpList.Add( 6 );

tmpList.Sort(); // 정렬을 수행한다.


7. ArrayList 값 복사

ArrayList tmpSource = new ArrayList();

ArrayList tmpTarget = new ArrayList();

// ... 값 대입

tmpTarget = (ArrayList) tmpSource.Clone();


8. 관련 있는 글


Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
281 Python python을 이용한 프로그램 개발 및 배포 방안 2010.02.25 46315 0
280 개념 QCELP, EVRC 2012.12.05 12615 0
279 C Queue 큐 (Linked List로 구현) file 2005.08.10 42378 0
278 C Queue 큐 (배열로 구현) file 2005.08.10 42268 0
277 C# Quick Sort 함수 2013.04.17 10068 0
276 업무 Ram Dump Parser 사용법 secret 2014.12.15 0 0
275 Pi Raspberry pi 에 Bluetooth사용을 위한 bluez설치 및 실행 2017.05.24 10058 0
274 HTML5 React 리액트 프로그래밍 Note secret 2023.01.01 0 0
273 Android repo 명령어 (command) 설명 init sync diff prune forall upload download start status 2013.05.30 20686 0
272 개념 RTSP(Real Time Streaming Protocol) 2012.02.01 18810 0
271 LINUX Samba 설치 및 설정 방법 2013.03.29 17387 0
270 LINUX screen 명령어, 터미널 멀티세션 제공 1 2014.01.21 55749 0
269 Pi SD Memory 카드 SPI 3.3V/5.0V 인터페이스 모듈 Atmega2560 제어 예제 2016.12.27 7145 0
268 LINUX sed 사용법 1 2006.02.16 42014 21
267 개념 SEI(Supplemental Enhancement Information) - H.264, AVC 2012.03.29 18416 0
목록
Board Pagination ‹ Prev 1 ... 11 12 13 14 15 16 17 18 19 20 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5