티스토리 뷰

우리 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}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함