반응형
[C# 프로그래밍 : 클래스 개념 꽉잡기- 컬렉션,인덱서]
1. 컬렉션이란?
- 배열은 일렬로 자료 저장해야할때. 배열 선언할 때 고정된 데이터만 받을 수 있는 문제점. 예를 들어 학생들이 작년에는 100명이었지만 내년에는 90명.. 이런식으로 다를 수 있음
- 컬렉션은 가변형데이터를 저장 삭제 검색 정렬 등등 기능 제공하는 솔루션
- 자료구조
2. 컬렉션의종류
- ArrayList
- 배열과 비슷
- 크기가 유동적
- arrList.Add(데이터); : 데이터 추가. 데이터형은 물론 내가 만든 스트럭쳐, 클래스도 추가 가능
ArrayList arrList = new ArrayList();
int[] arrData = {100,200,300};
ArrayList arrCopyList = new ArrayList(arrData); //생성과 동시에 특정 데이터를 넣을 수 있음
- Queue
- 순차적인 데이터처리 가능
- FIFO 처음 들어온 데이터가 처음 나간다
- 게임에서 순차적 AI기능 구현할 때 사용 : 달려, 달려가, 앉아, 점프 등등 순차적으로 갖다 쓸 떄?
- queue.Dequene() : 데이터 제거하고 반환
- queue.Enquene() : 데이터 추가.
- queue.Peek() : 데이터 제거 없이 반환. 맨 앞에 있는 데이터 읽어오기
- queue.Count : 큐안에 들어 있는 데이터 개수
Queue queue = new Queue();
int[] arrData = {100,200,300};
Queue queueCopy = new Queue(arrData);
- Stack
- 순차적 데이터 처리
- LIFO(Last in First Out) : 마지막에 들어온게 처음으로 나간다
- 뒤로가기 기능 할때 사용
- stack.Push() : 데이터 추가
- stack.Pop() : 데이터 제거 및 반환
- stack.Peek() : 데이터 제거 없이 반환. 맨 앞에 있는 데이터 읽어오기
Stack stack = new Stack();
stack.Push("a");
int[] arrData ={100,200,300};
Stack stackcopy = new Stack(arrData);
- Hashtable
- 키와 값이 쌍으로 구성되는 데이터
- 창고에 박스를 쌓아놓을 때 라벨을 붙여두면 빨리 찾을 수 있는 듯이 키와 값이 함께 있기 때문에 탐색할 때 속도가빠름
- hashTable.Keys : 해쉬테이블 내 키값 가져오기
Hashtable hashTable = new Hashtable();
hashTable.Add("name","Jack");
hashTable["weight"] = 10.8f;
Hashtable hashTableCopy = new Hashtable(){
["pos"] = 10,
["name"] = "Jack",
["weight"] = 10.98f,
};
- 인덱서
- 배열이나 컬렉션 외부 접근을 좀 더 편하게 해주는 것
- 클래스 내 프라이빗으로배열을 만들어둠 외부에서 객체로접근 힘듬. 이때 인덱서를 이용해서 접근한다.
public int this[int index]{
get{return num[index];}
set{num[index] = value;}
}
- 배열의 길이가 넘으면 오류가 생길때도 있는데 이런 경우 if문을 넣어서 미리 방어할 수 있음
public string this[int index]
{
get {
if(index >= 0 && index < arrayList.Count)
return (string)arrayList[index];
else
return null;
}
set {
if(index >= 0 && index < arrayList.Count)
arrayList[index] = value;
else if(index == arrayList.Count)
arrayList.Add(value);
}
}
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
<본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.>
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기
#C#과유니티로배우는게임개발올인원패키지Online.
반응형
'코딩 공부 > 패스트캠퍼스 게임 개발 올인원' 카테고리의 다른 글
패스트캠퍼스 챌린지 29일차 (0) | 2022.02.21 |
---|---|
패스트캠퍼스 챌린지 28일차 (0) | 2022.02.20 |
패스트캠퍼스 챌린지 26일차 (0) | 2022.02.18 |
패스트캠퍼스 챌린지 25일차 (0) | 2022.02.17 |
패스트캠퍼스 챌린지 23일차 (0) | 2022.02.15 |