언리얼 엔진/C++

[언리얼엔진] TArray 와 TSet 의 장단점

mane 2023. 7. 30. 22:57
728x90
반응형

언리얼엔진의 TArray 와 TSet 장단점에 대한 글입니다.

우선 언리얼 엔진에서 TArray 와 TSet 은 모두 요소 컬렉션을 저장하는 데 사용되는 데이터 구조입니다.

아래는 TArray 와 TSet 에 대한 설명글입니다.


TArray 란?

  • TArray 는 인접한 메모리 위치에 요소를 저장하는 동적 배열입니다.
  •  장점
    • 더 빠른 반복 및 인덱스 기반 액세스를 제공합니다.
    • 중복을 허용합니다. 즉, 동일한 요소를 여러 번 저장할 수 있습니다.
    • 요소 정렬, 검색 및 조작을 위한 다양한 기능이 있습니다.
    • 요소를 인덱스로 자주 접근해야 하는 경우나 중복이 필요한 경우에 적합합니다.
  • 단점
    • 인접한 메모리를 유지하기 위해 요소를 이동해야 하는 경우 요소 삽입 또는 제거가 느려질 수 있습니다.
    • 요소 검색은 모든 요소를 하나씩 확인해야 하기 때문에 TSet 에 비해 시간이 오래 걸릴 수 있습니다.

TSet 이란?

  • 고유 요소의 정렬되지 않는 모음입니다. 해시테이블 형태로 키데이터가 구축되어 있기에 빠른 검색이 가능합니다.
  • 장점
    • TArray 에 비해 조회 시간이 더 빠릅니다. TSet 에서 요소를 검색하는 것은 평균적으로 일정 시간 복잡도(O(1))를 가집니다.
    • 각 요소가 한 번만 저장될 수 있음을 의미하는 고유성을 자동으로 적용합니다.
    • 요소 삽입 및 제거는 요소 이동이 필요하지 않기 때문에 일반적으로 TArray보다 빠릅니다.
    • 고유성이 중요하고 빈번한 요소 조회가 필요한 경우에 적합합니다.
  • 단점
    • 중복을 허용하지 않습니다. 동일한 요소를 여러 번 저장해야 하는 경우 TArray 가 더 적합합니다.
    • 순서가 없는 컬렉션이므로 요소의 순서가 유지되지 않습니다.
728x90
반응형