Deff_Dev

[Unity/C#] ArrayList 본문

Unity(유니티)/유니티 공부

[Unity/C#] ArrayList

Deff_a 2024. 3. 20. 19:53

해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. 

 

ArrayList

  • 배열과 가장 흡사한 구조를 가지고 있는 컬렉션
  • 요소에 접근할 때는 첨자 연산자 []를 이용하고, 원하는 위치에 데이터를 추가하거나 삭제하는 것이 자유롭다.
  • 배열과는 다르게 용량을 미리 지정할 필요가 없고 데이터를 추가하거나 삭제했을 때 자동으로 용량이 늘어나거나 줄어든다.

 

ArrayList 함수

 

ArrayList.Add(object)

  • 마지막 요소 뒤에 새로운 요소 추가
  • int, float, string, class, null 등 원하는 데이터 추가 가능
    private void Awake()
    {
        // ArrayList 선언
        ArrayList array = new ArrayList();
        
        // 값 추가
        array.Add(10);
        array.Add("ddd");
    }

 

ArrayList.AddRange(ICollection)

  • 여러 개의 요소를 한꺼번에 추가
  • 매개변수는 ICollection 인터페이스 타입으로 대표적으로 Collection <> 데이터를 만들어서 추가 가능
    private void Awake()
    {
        // ArrayList 선언
        ArrayList array = new ArrayList() { 10, "안녕"};

        object[] ob = { 1, "하이" };

        // array 뒤에 ob 배열 요소들을 추가
        array.AddRange(ob); // 10, 안녕, 1, 하이
    }

 

ArrayList.Insert(int, object)

  • 첫 번째 매개변수 위치에 두 번째 매개변수 요소 추가
    private void Awake()
    {
        // ArrayList 선언
        ArrayList array = new ArrayList() { 10, "d", 30.23f, 2312 };

        // 1번 자리에 값 삽입
        array.Insert(1, "안녕"); // 10, 안녕, d ...
    }

 

ArrayList.Remove(object)

  • 매개변수에 입력된 데이터와 동일한 데이터 요소 삭제

ArrayList.RemoveAt(int)

  • 매개변수에 입력된 위치의 요소 삭제

ArrayList.RemoveRange(int, int)

  • 첫 번째 매개변수 위치부터 두 번째 매개변수 개수만큼 요소 삭제
    private void Awake()
    {
        // ArrayList 선언
        ArrayList array = new ArrayList() { 10, "안녕" , 255, 0.5f , "하이"};

        array.Remove("안녕"); // 안녕 삭제
        array.RemoveAt(0); // 10 삭제
        array.RemoveRange(0, 2); // 255, 0.5 삭제
    }

 

ArrayList.Sort()

  • ArrayList 내의 요소를 오름차순으로 정렬
  • 정수 한정으로 사용 가능, 요소 중에 정수가 이닌 데이터가 있다면 에러 발생

ArrayList.Clear()

  • ArrayList 내의 모든 요소를 삭제

ArrayList.Count

  • ArrayList에 저장되어 있는 요소의 개수
  private void Awake()
    {
        // ArrayList 선언
        ArrayList array = new ArrayList() {50 ,10, 3500 , 255};

        array.Sort(); // 오름차순 정렬

        for(int i = 0; i < array.Count; i++)
        {
            Debug.Log(array[i]); // 10, 50, 255, 3500 출력
        }

        // 모든 요소 삭제
        array.Clear();
    }

'Unity(유니티) > 유니티 공부' 카테고리의 다른 글

[Unity/C#] 스택 (Stack)  (0) 2024.03.20
[Unity/C#] 큐 (Queue)  (0) 2024.03.20
[Unity/C#] 컬렉션 (Collection)  (0) 2024.03.20
[Unity/C#] 프로퍼티  (0) 2024.03.14
[Unity/C#] 이름 공간 (namespace)  (0) 2024.03.12