하나의 리스트를 두개 이상의 리스트로 분리하거나, 특정 Index 범위의 리스트로 자르는 방법을 소개합니다.
1. 두개의 리스트로 분리
List.sublist(start, end)는 start Index에서 end Index 범위의 리스트를 리턴합니다. start Index는 포함하며, end Index는 포함되지 않습니다.
아래 예제는 sublist()를 이용하여 1개의 리스트를 2개의 리스트로 분리합니다.
list.sublist(0, 3): Index 0에서 Index 2를 포함하는 리스트 리턴list.sublist(3, list.length): Index 3에서 Index 4를 포함하는 리스트 리턴 (length: 5)
void main() {
List<int> list = [1, 2, 3, 4, 5];
List<int> subList1 = list.sublist(0, 3);
List<int> subList2 = list.sublist(3, list.length);
print(subList1);
print(subList2);
}Output:
[1, 2, 3]
[4, 5]2. 특정 Index에서 마지막까지 자르기
List.sublist(start)는 start Index부터 리스트 마지막까지 잘라서 리스트로 리턴합니다.
예를 들어, sublist(3)은 Index 3에서 마지막 요소까지 포함된 리스트를 리턴합니다.
void main() {
List<int> list = [1, 2, 3, 4, 5];
List<int> subList1 = list.sublist(3);
print(subList1);
}Output:
[4, 5]3. 특정 조건으로 리스트 분리
List.where(function)은 리스트의 모든 요소에 대해서 function의 조건을 만족하는 요소들을 Iterable로 리턴합니다.
- 어떤 요소에 대해서
function이 true를 리턴하면 Iterable에 포함됨 toList()로 Iterable을 List로 변환할 수 있습니다.
아래 예제는 리스트의 요소들 중에 짝수는 subList1로 분리하고, 홀수는 sublist2에 분리하는 예제입니다.
void main() {
List<int> list = [1, 2, 3, 4, 5];
List<int> subList1 = list.where((e) => e % 2 == 0).toList();
List<int> subList2 = list.where((e) => e % 2 != 0).toList();
print(subList1);
print(subList2);
}Output:
[2, 4]
[1, 3, 5]Loading script...
Related Posts
- Flutter/Dart - Future.delayed() 사용 방법
- Flutter/Dart - Stream 사용 방법
- Flutter/Dart - 파일, 디렉토리 삭제
- Flutter/Dart - 텍스트 파일 쓰기
- Flutter/Dart - 반복문 (for, while, for-in, forEach)
- Flutter/Dart - Static 변수, 메소드 선언
- Flutter/Dart - 텍스트 파일 읽기
- Flutter/Dart - 다양한 Null 체크 방법
- Flutter/Dart - Double을 Int로 변환
- Flutter/Dart - Double을 String으로 변환
- Flutter/Dart - String을 Double로 변환
- Flutter/Dart - String을 List로 변환
- Flutter/Dart - String에서 특정 문자열 Index 찾기
- Flutter/Dart - String 길이(length)
- Flutter/Dart - 몇 초 지연시키기, sleep
- Flutter/Dart - 날짜 계산, 년/월/일 더하고 빼기
- Flutter/Dart - 날짜 문자열을 DateTime으로 변환
- Flutter/Dart - 현재 시간 가져오기, DateTime
- Flutter/Dart - Map에 key-value 추가
- Flutter/Dart - Map 선언 및 초기화
- Flutter/Dart - Map 순회 방법
- Flutter/Dart - Map에서 Entry(key-value) 제거
- Flutter/Dart - key, value로 Map 정렬
- Flutter/Dart - 리스트 복사 방법
- Flutter/Dart - 리스트 합치는 방법
- Flutter/Dart - 리스트 최대값, 최소값 찾기
- Flutter/Dart - 리스트 요소 추가, 특정 위치 추가
- Flutter/Dart - 리스트 요소 제거
- Flutter/Dart - 리스트 요소 값 변경, 찾기
- Flutter/Dart - 리스트 합계, 평균 계산
- Flutter/Dart - 리스트 중복 제거
- Flutter/Dart - 리스트 정렬 (오름차순, 내림차순)
- Flutter/Dart - 리스트 자르기, 분리하기
- Flutter/Dart - 변수 타입 체크
- Flutter/Dart - 리스트 필터링