러스트는 일반적인 목적의 프로그래밍 데이터 구조에 대한 효율적인 구현을 제공하는 표준 컬렉션 라이브러리를 갖추고 있습니다.
표준 구현을 사용하면 두 라이브러리 간에 데이터 변환 없이 원활하게 통신할 수 있습니다.
가장 일반적인 사용 사례를 위해 Vec
또는 HashMap
을 사용하는 것이 좋습니다.
이 두 컬렉션은 대부분의 일반 데이터 저장 및 처리에 사용되며, 뛰어난 성능을 제공합니다.
표준 라이브러리의 다른 컬렉션들은 특정 사용 사례에서 최적의 선택이지만, 비교적 특수한 경우에 해당합니다.
실제로 Vec
과 HashMap
이 기술적으로 최적이 아니더라도, 시작하기에 충분한 선택이 될 것입니다.
러스트의 컬렉션은 크게 4가지 주요 카테고리로 분류할 수 있습니다.
Vec
, VecDeque
, LinkedList
HashMap
, BTreeMap
HashSet
, BTreeSet
BinaryHeap
여기서는 러스트의 주요 컬렉션 타입인 벡터(Vector), 문자열(String) 및 해시맵(HashMap)에 대해 간략하게 소개하겠습니다.
벡터는 동적 배열로, 연속된 메모리 공간에 저장되는 동일한 타입의 요소들을 가집니다.
벡터는 크기를 자동으로 조절할 수 있으며, 요소에 빠르게 접근할 수 있는 장점이 있습니다.
문자열은 UTF-8 인코딩된 문자의 연속으로 구성되어 있습니다.
러스트의 문자열은 변경이 불가능한 &str
타입과 변경 가능한 String
타입이 있습니다.
문자열은 텍스트 데이터를 저장하고 처리하는데 사용됩니다.
해시맵은 키-값 쌍을 저장하는 데 사용되는 컬렉션입니다.
해시 함수를 사용하여 키를 해싱하여 값을 빠르게 찾을 수 있습니다.
해시맵은 삽입, 검색 및 삭제 작업에 대한 평균 시간 복잡도가 O(1)입니다.