[문법]컬렉션

gov's avatar
Dec 20, 2024
[문법]컬렉션

1

class Car { final String name; // final 1.반드시 초기화(생성자) Car(this.name); } void main() { Car c = Car("소나타"); // c.name = "다른 자동차"; // 2. 변경불가 }

2

// 플러터는 파일단위로 import // const // 1. 상수 데이터 초기화 // 타입 생략 가능 - 자동으로 var로 정의 const primaryClolr = "green"; // 컴파일시 초기화 const secondaryColor = "red"; // final secondaryColor = "red"; // 런타임시 초기화 class Button { final String text; const Button(this.text); } void main() { Button b1 = const Button("로그인"); Button b2 = const Button("로그아웃"); print(b1.hashCode); print(b2.hashCode); } // 동일하면 const // 아무것도 안붙이면 변경 가능한 버튼 2개 -서로 다른 객체 // final 동일 객체들

3

// 컬렉션 - 불변 객체로 이용해라 // dynamic 들어오는 타입에 맞춤 List<dynamic> list = [1, 2, 3, "문자열 가능"]; var map = { "id": 1, "name": "홍길동" }; void main() { print(list[1]); // 출력: 2 print(map["name"]); // 출력: 홍길동 // 1. list 값추가 list.add(4); // 안씀. 불변성 이용 print(list); // 2. map 값추가 map["phone"] = "0102222"; print(map); }

4

var list = [1, 2, 3]; void main() { // 0. 깊은 복사 // 타입을 벗긴 값이 들어옴 // r1과 list는 다른 객체 var r1 = [...list]; // 1. 추가 var r2 = [...list, 4]; // 2. 삭제 // 자바의 필터 = where var r3 = list.where((e) => e != 2).toList(); print(r3); // 3. 검색 var r4 = list.where((e) => e == 2).toList(); print(r4); // 4. 수정 var r5 = list.map((e) => e == 2 ? 5 : e).toList(); // 삼항연산자 print(r5); }
 
Share article

goho