[kotlin] 코틀린 집합(Set)과 리스트(List)의 차이점
코틀린에서는 Set과 List 두 가지 주요 컬렉션 형식이 있습니다. 이들 간에는 몇 가지 중요한 차이가 있습니다. 이 포스트에서는 Set과 List의 차이점을 살펴보겠습니다.
1. 순서 보장 여부
- List: List는 원소의 순서를 보장합니다. 즉, 원소가 리스트에 추가된 순서대로 유지됩니다.
- Set: Set은 순서를 보장하지 않습니다. 따라서 원소의 추가 순서에 관계없이 저장됩니다.
2. 중복 원소 허용 여부
- List: List는 중복된 원소를 허용합니다. 즉, 동일한 원소를 중복해서 포함할 수 있습니다.
- Set: Set은 중복된 원소를 허용하지 않습니다. 이미 존재하는 원소를 다시 추가하려고 하면 무시됩니다.
3. 컬렉션 함수
- List: List는 주로 순회 및 필터링 용도로 사용됩니다. 리스트에 대해 순회하거나 특정 조건에 맞는 원소를 추출하는 데 적합합니다.
- Set: Set은 주로 중복을 허용하지 않아야 하는 경우에 사용됩니다. 또한 교집합, 합집합 및 차집합과 같은 집합 연산에 유용합니다.
4. 성능
- List: 리스트는 순서를 유지해야 하므로 원소를 찾는 데는 추가 시간이 소요될 수 있습니다. 특히 검색 작업의 경우 리스트의 성능은 O(n)입니다.
- Set: 셋은 해시 기반 구조를 사용하여 원소를 저장하므로 검색 성능이 우수합니다. 이진 검색 트리를 사용하는 경우 검색 작업의 성능은 O(log n)입니다.
이상으로 코틀린의 Set과 List의 주요 차이점을 살펴보았습니다.
참고 자료:
- Kotlin Documentation - Collections: https://kotlinlang.org/docs/collections-overview.html