출처는 이곳입니다.
배열
데이터 형식이 같은 변수를 여러 개 한꺼번에 묶어서 처리하기 위해 사용되는 것.
배열을 묶는 데이터 형식은 값 형식이더라도 배열은 참조 형식
배열은 변수를 정의하고, 값을 대입한 다음, 인덱스를 통하여 접근
선언 방법
데이터 - 형식 [] 배열 - 이름 = new 데이터 - 형식[크기];
사용 방법
배열-이름 [인덱스] = 값;
배열을 구성하는 데이터 형식들을 요소.
그리고 그 요소의 주소처럼 사용되는 위치 값이 인덱스.
void Start()
{
string[] study = new strig[3] //3개의 string 배열 정의
study[0] = "one";
study[1] = "two";
study[2] = "Three";
Debug.Log(study[0]); //0번째 인덱스 출력
void Start()
{
string[] study = new strig[] { "one","two","three" };
int[] numbers = new lnt [ 1,2,3,4 ];
}
참고 링크안에 다차원 배열
성능등 더 자세한 내용이 포함되어있습니다.
출처입니다.
List 선언
List <자료형> 변수명 = new list <자료형>();
List <int> study = new List<int>();
배열추가
study.Add(2);
출처는 아래입니다.
배열과 리스트의 차이
배열과 리스트의 가장 큰 차이점은 동적으로 크기 할당 여부이다.
결론부터 말하자면, 배열은 동적으로 크기 할당이 불가능하고 리스트는 가능하다.
배열은 처음 크기로 고정 더 늘릴수 없고
리스트는 Add,Remove 메서드를 이용하여 크기를 자유롭게 늘릴 수도 줄일 수도 있다.
배열의 특징
배열은 연속된 메모리 공간으로 이루어져 있어서 메모리 관리가 용이하다.
인덱스로 이루어져 있기에
인덱스로 접근 시 빠르게 해당 값을 찾을 수 있다.
그렇지만, 동적 할당이 불가능.
리스트의 특징
포인터를 사용하여, 다음 데이터의 주소 값을 가지고 있기에
데이터 추가/삭제가 편리하다.
그 말인 즉슨, 데이터의 크기를 동적으로 할당 할 수 있다.
하지만, 포인터를 사용하여 다음 데이터의 주소값을 가지고 있어야 하므로
불 필요한 메모리가 추가로 사용되기에 메모리 측면에서는 비 효율적이다.
그뿐만 아니라 배열에는 Index Key 값이 존재하지만
리스트에는 그런 키 값이 존재하지 않기에 검색에는 유용하지 않다.
언제 사용해야 되는가
데이터 크기가 정해져 있다면 배열을
데이터 크기가 정해져 있지 않다면 리스트를 사용하는 것이
가장 좋은 방법이라고 생각.
그래도 역시 개념을 알려면
코드를 직접 작성하여 어떻게 실행이되고 돌아가는지를
확인해봐야 진정 알았다 라고 할수 있을 것 같다.
'🧩 코딩 > 코드 메모' 카테고리의 다른 글
Unity 풀링에 대해서 그리고 아주아주 간단한 풀링 코드 (4) | 2022.12.16 |
---|---|
UI Button / 체크 박스 UI " Toggle " 구현 (0) | 2022.12.02 |
선형 보간 / Lerp로 부드럽게 움직이기 (MoveTowards,Lerp, SmoothDamp 비교 ) (0) | 2022.11.29 |
Unity Time.timeScale로 게임 내 시간 조절하기 🤸🏻♀️ (0) | 2022.10.30 |
Unity2D 물리 충돌이 되지 않을때 여러가지 해결 방법 (0) | 2022.10.23 |