하나의 리스트를 두개 이상의 리스트로 분리하거나, 특정 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 - 리스트 필터링