반응형
* 해당 글은 '나무위키'와 책'내일은 플러터'의 내용을 요약 정리 하였습니다.
List, Map
List<int> num = [1, 2, 3, 4, 5]; // 정수형
List<String> str = ['a', 'b', 'c']; // 문자형
List<dynamic> mix = [1, 'b', true]; // 다이나믹
List<int> copynum = List.from(num); // from 복사
List<int> copynum2 = num.toList(); // tolist 복사
List<int> sumnum = copynum + copynum2; // list 합치기 addAll로도 가능
void main() {
print('리스트길이');
print(num.length);
print('bool로 빈리스트인지 확인');
bool num_l = num.length == 0;
print(num_l);
print('리스트 요소 추가');
str.add('dd');
print(str);
print(' 리스트에 다수 요소 추가');
str.addAll(['cc', 'ff']);
print(str);
print('리스트 인덱스2자리에(0부터 시작하므로 3번째) "in" 삽입');
str.insert(2, 'in');
print(str);
print('// 리스트 내 요소 접근');
print(str[2]);
print('// 리스트 요소 변경');
str[2] = 'change';
print(str);
print('// 리스트 요소 제거');
str.remove('a');
print(str);
print('// 인덱스로 리스트 요소 제거');
str.removeAt(0);
print(str);
print('// for 문으로 리스트 순회');
for (dynamic i in mix) {
print(i);
}
print('// toEach 리스트 순회');
mix.forEach((i) {
print(i);
});
print(' // 2차원 리스트');
List<List<dynamic>> two = [
['*', '*', '*', '*', '*'],
['*', ' ', ' ', ' ', '*'],
['*', ' ', 'p', ' ', '*'],
['*', ' ', ' ', ' ', '*'],
['*', '*', '*', '*', '*']
];
print(two);
print('// 2차원 리스트 출력하기');
for (int i = 0; i < two.length; i++) {
for (int j = 0; j < two[i].length; j++) {
stdout.write(two[i][j]);
}
stdout.write('\n'); // 행사이 공백
}
print('--------------');
// Map 키-값 쌍으로 이루어진 컬렉션 타입
// Map<키타입, 값타입> 맵이름 = {키1:값1,키2:값2,키3:값3}
Map<int, dynamic> map1 = {
1: 'a',
2: 22,
3: {4: 'inside'}
};
Map<int, dynamic> map2 = {}; // 빈 Map 생성
Map<int, dynamic> map3 = new Map(); // new 를 이용한 빈 Map 생성
print('');
print(map1);
print(map2);
print(map3);
print('// map 내부 값요소 출력 맵이름[키]');
print(map1[1]);
print(map1[3][4]);
print(' // map 요소 추가');
map2[5] = 'abc';
print(map2);
}
/* 출력값
리스트길이
5
bool로 빈리스트인지 확인
false
리스트 요소 추가
[a, b, c, dd]
리스트에 다수 요소 추가
[a, b, c, dd, cc, ff]
리스트 인덱스2자리에(0부터 시작하므로 3번째) "in" 삽입
[a, b, in, c, dd, cc, ff]
// 리스트 내 요소 접근
in
// 리스트 요소 변경
[a, b, change, c, dd, cc, ff]
// 리스트 요소 제거
[b, change, c, dd, cc, ff]
// 인덱스로 리스트 요소 제거
[change, c, dd, cc, ff]
// for 문으로 리스트 순회
1
b
true
// toEach 리스트 순회
1
b
true
// 2차원 리스트
[[*, *, *, *, *], [*, , , , *], [*, , p, , *], [*, , , , *], [*, *, *, *, *]]
// 2차원 리스트 출력하기
*****
* *
* p *
* *
*****
--------------
{1: a, 2: 22, 3: {4: inside}}
{}
{}
// map 내부 값요소 출력 맵이름[키]
a
inside
// map 요소 추가
{5: abc}
*/
'Code > Flutter' 카테고리의 다른 글
dart 객체, 클래스, 인스턴스 (1) | 2024.09.02 |
---|---|
Dart 클래스와 객체, late, cascade(..) (0) | 2023.10.11 |
Dart 반복문, 함수, 전역변수 (1) | 2023.10.08 |
Dart 변수와 타입, 연산자, 제어문, 조건문 (0) | 2023.10.07 |
Dart 언어란? (0) | 2023.10.07 |