셋은 객체 컬렉션으로, 각 객체는 한 번만 포함될 수 있습니다. 즉, 각 요소 유형의 객체는 집합에 포함되어 있거나 포함되지 않은 것으로 간주됩니다. Set 구현체는 일부 요소들을 구분할 수 없다고 간주할 수 있습니다. 이러한 요소들은 집합에서의 모든 작업에서 동일한 것으로 취급됩니다.기본 Set 구현체인 LinkedHashSet은 `Object.==` 및 `Object.hashCode`에 따라 객체가 동일하다고 간주합니다. 집합의 요소를 반복(iterate)하는 순서는 무작위이거나 특정 방식으로 정렬될 수 있습니다. 예시:- HashSet은 무작위로 정렬되며, 반복 순서가 지정되지 않습니다.- LinkedHashSet은 요소의 삽입 순서대로 반복합니다.- SplayTreeSet과 같은 정렬된 집합은 요..
길이를 가진 객체들의 인덱스 가능 컬렉션입니다.이 클래스의 서브클래스들은 다양한 종류의 리스트를 구현합니다. 가장 흔한 리스트 종류는 다음과 같습니다:고정 길이 리스트 (Fixed-length list)리스트의 길이를 변경할 수 있는 작업을 시도하면 오류가 발생합니다.가변 길이 리스트 (Growable list)이 클래스에서 정의된 API를 완전하게 구현합니다.기본 가변 길이 리스트(대괄호 []로 생성)는 내부 버퍼를 유지하며, 필요할 때 그 버퍼를 확장합니다. 이는 일련의 add 작업이 각각 상수 시간에 실행되도록 보장합니다. 길이를 직접 설정하는 것은 새로운 길이에 비례하는 시간이 걸릴 수 있으며, 내부 용량을 변경하여 다음 add 작업에서 버퍼 용량을 즉시 증가시켜야 할 수도 있습니다. 다른 리스트..
컬렉션이란?컬렉션은 객체 그룹을 나타내는 객체이며, 객체 그룹의 각각의 객체를 요소라고 부른다. 컬렉션은 비어 있을 수도 있고, 여러 요소를 포함할 수도 있다. 가장 일반적인 컬렉션 타입은 다음과 같다.- 리스트 : 인덱스를 통해 요소를 읽는 데 사용- 셋 : 중복 없이 요소를 포함하는 데 사용- 맵 : 키를 사용하여 요소를 읽는 데 사용 Iterable이란?Iterable은 순차적으로 접근할 수 있는 요소의 컬렉션이다. 다트에서 Iterable은 추상 클래스이므로 직접 인스턴스화할 수 없다. 하지만 리스트와 셋을 생성하여 새로운 Iterable을 만들 수 있다. 리스트와 셋은 모두 Iterable이므로, Iterable 클래스와 동일한 메서드와 속성을 가진다. 맵은 해시 테이블을 사용하여 키를 ..