요소 삽입
add(E value)
addAll(Iterable iterable)
- 대상 리스트의 마지막에 다른 리스트의 요소들을 모두 추가한다.
insert(int index, E element);
insertAll(int index, Iterable iterable);
- 대상 리스트의 다른 리스트의 요소들을 모두 추가한다.
요소 삭제
remove(Object? value)
removeAt(int index)
- 대상 리스트의 특정 인덱스의 요소를 삭제한다.
removeLast()
removeRange(int start, int end)
- 지정한 인덱스 범위만큼 대상 리스트에서 삭제한다.
- start는 처음으로 삭제하려는 요소의 인덱스를 입력한다.
- end는 마지막으로 삭제하려는 요소의 인덱스 번호 + 1을 입력한다.
removeWhere(bool test(E element))
- 대상 리스트의 요소들 중에서 특정 조건을 만족하는 요소를 모두 삭제한다.
retainWhere(bool test(E element))
- 대상 리스트의 요소들 중에서 특정 조건을 만족하지 못하는 요소를 모두 삭제한다.
clear()
요소 정렬
sort([int compare(E a, E b)?])
- 대상 리스트의 모든 요소를 지정한 조건에 따라서 정렬한다.
- 조건을 지정하지 않으면 오름차순으로 정렬된다.
shuffle([Random? random])
변환
sublist(int start, [int? end])
- 지정한 인덱스 범위만큼 대상 리스트에서 복사하여 새로운 리스트를 생성한다.
- start는 처음으로 복사하려는 요소의 인덱스를 입력한다.
- end는 마지막으로 복사하려는 요소의 인덱스 번호 + 1을 입력한다.
- end를 지정하지 않으면 start 인덱스부터 마지막 요소까지 복사한다.
- 원본에 변화는 없다.
asMap()
- 대상 리스트를 복사하여 Map 컬렉션으로 캐스팅해서 반환한다.
- Map의 각 key의 이름은 원본 리스트의 인덱스 번호가 된다.
- 원본에 변화는 없다.
요소 검색
elementAt(int index)
- 대상 리스트에서 지정한 인덱스 번호에 해당하는 요소를 반환한다.
- Iterable의 메소드
where(bool test(E element))
- 특정 조건을 만족하는 요소의 목록을 반환한다.
- Iterable의 메소드
first(E value)
last(E value)
firstWhere(bool test(E element), {E orElse()?})
- 대상 리스트에서 특정 조건을 만족하는 첫번째 요소를 반환한다.
- Iterable의 메소드
lastWhere(bool test(E element), {E orElse()?})
- 대상 리스트에서 특정 조건을 만족하는 마지막 요소를 반환한다.
- Iterable의 메소드
인덱스 검색
indexOf(E element, [int start = 0])
- 특정 값과 동일한 첫번째 요소의 인덱스를 반환한다.
- start 지정 시 해당 인덱스부터 계산을 시작한다.
lastIndexOf(E element, [int? start])
- 특정 값과 동일한 마지막 요소의 인덱스를 반환한다.
- start 지정 시 해당 인덱스부터 계산을 시작한다.
- indexOf와 달리 뒤에서부터 인덱스를 계산한다.
indexWhere(bool test(E element), [int start = 0])
- 특정 조건을 만족하는 요소들 중에서 첫번째 요소의 인덱스를 반환한다.
- start 지정 시 해당 인덱스부터 계산을 시작한다.
lastIndexWhere(bool test(E element), [int? start])
- 특정 조건을 만족하는 요소들 중에서 마지막 요소의 인덱스를 반환한다.
- start 지정 시 해당 인덱스부터 계산을 시작한다.
- indexWhere와 달리 뒤에서부터 인덱스를 계산한다.
요소 변경
setAll(int index, Iterable iterable)
replaceRange(int start, int end, Iterable replacements)
조건 검사
every(bool test(E element))
- 모든 요소가 조건을 만족하는지 확인한다.
- Iterable의 메소드
any(bool test(E element))
- 조건을 만족하는 요소가 존재하는지 확인한다.
- Iterable의 메소드
contains(Object? element)
- 조건을 만족하는 요소가 존재하는지 확인한다.
- 대소문자를 구분한다.
- Iterable의 메소드
변환
map(T toElement(E e))
- 대상 리스트 내부의 요소를 변환하여 새로운 리스트를 생성한다.
- Iterable의 메소드
반복
reduce(E combine(E value, E element))
- 대상 리스트 내부의 요소들을 결합하여 단일 값을 생성한다.
fold(T initialValue, T combine(T previousValue, E element))
- 초기 값 과 대상 리스트 내부의 요소들을 결합하여 단일 값을 생성한다.
forEach(void action(E element))
- 대상 리스트 내부의 모든 요소들에 대해서 내부 로직을 실행한다.
- Iterable의 메소드
기타
join([String separator = “”])
- 대상 리스트 내부의 모든 요소들을 하나의 문자열로 결합한다.
- Iterable의 메소드
length
- 대상 리스트 내부의 요소의 개수를 반환한다.
- length는 getter와 setter 모두 있기 때문에 2가지 방식을 사용할 수 있다.
- setter는 그 값이 0보다 크고, 기존 요소의 개수 이하의 값일 때 정상적으로 사용할 수 있다.
reversed
- 대상 리스트 내부의 모든 요소들의 순서를 뒤집어서 반환한다.
isEmpty
- 대상 리스트가 비어있는지 확인한다.
- Iterable의 메소드
isNotEmpty
- 대상 리스트가 비어있지 않은지 확인한다.
- Iterable의 메소드