티스토리 뷰
우리 App-jam팀 얼리버디의 안드로이드 팀원들과 공부를 시작하기로 했다
'커니의 코틀린'을 기반으로 kotlin과 아키텍쳐 공부를 해서
얼리버디 프로젝트 코드를 멋지게 바꾸는 것이 우리의 목표다!
안드버디 화이티잉
변수
- val : value의 약어, 값을 초기화 한 후에는 변경이 불가능
- var : variable의 약어, 값을 선언한 후에도 변경 가능, 타입이 다른 값으로는 변경 불가
배열
- 🚨생성 후 크기 변경 불가🚨
- arrayOf(값1, 값2, 값3)
- Array(배열크기,{초기화값})
- array.set(인덱스, 값) : 배열에 값 넣기
- array.get(인덱스) : 배열에서 값 빼기
컬렉션
- 데이터를 저장하는 기본 자료구조들을 모아 관리와 사용을 편리하게 해주는 프레임워크
- 코틀린에서는 변경 가능한(mutable) 컬렉션과 변경 불가능한(immutable) 컬렉션으로 구분하여 사용
List
- 데이터가 순서대로 배열된 형태의 컬렉션
- 데이터 중복 가능
- 기본적으로는 변경 불가능(immutable) -> 대입 불가
- mutableListOf()로 변경 가능한 list 생성 가능
// 변경 불가능한 List
val list1: List<Int> = List(3, {i -> i})
val list2: List<Int> = listOf(1,2,3)
//변경 가능한 List
val list3 = mutableListOf(1,2,3)
Set
- 데이터가 순서없이 모인 컬렉션
- 데이터 중복 불가능 -> 중복 데이터 삽입 시 중복 제거 후 하나만 삽입
- 기본적으로 변경 불가능(immutable)
- mutableSetOf(), hashSetOf(), linkedSetOf(), sortedSetOf()로 변경 가능한 Set 생성 가능
//변경 불가능한 Set
val set1: Set<Int> = setOf(1,1,2,3) //1이 하나 제거된 후 삽입
//변경 가능한 Set
val set2: MutableSet<Int> = mutableSetOf(1,2,3)
val set3: HashSet<Int> = hashSetOf(1,2,3)
Map
- '키(Key)'와 '값(Value)'로 이루어진 한쌍의 데이터를 관리하기 위한 컬렉션
- '키'는 중복 불가능, '값'은 중복 가능
- 효율적인 검색 지원
- 기본적으로 변경 불가능(immutable)
- mutableMapOf(), hashMapOf(), linkedMapOf(), sortedMapOf()로 변경 가능한 Map 생성 가능
//변경 불가능한 Map
val map1: Map<String,Int> = mapOf("one" to "1", "two" to "2")
val map2: Map<String,Int> = mapOf(Pair("three",3), Pair("four",4))
//변경 가능한 Map
val map3: MutableMap<String,Int> = mutableMapOf("one" to "1", "two" to "2")
val map4: HashMap<String,Int> = hashMapOf(Pair("three",3), Pair("four",4))
//'키'값의 해시코드 순으로 출력
println(map1) //{two=2, one=1}
println(map2) //{four=4, three=3}
'Android' 카테고리의 다른 글
[kotlin] 코틀린을 코틀린답게 (라이브러리 - 조건 확인 함수,컬렉션 생성 함수) (0) | 2020.03.08 |
---|---|
[kotlin] 안드버디 스터디 정리 - 1 (0) | 2020.03.05 |
[kotlin] 코틀린을 코틀린답게 (함수,람다표현식) (0) | 2020.03.05 |
[kotlin] 코틀린을 코틀린답게 (함수,상속과 구현,this,companion object,제네릭,예외,null 연산자) (0) | 2020.03.04 |
[kotlin] 코틀린을 코틀린답게 (클래스,프로퍼티,접근제한자,생성자) (0) | 2020.03.03 |