반응형
Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- System.currentTimeMillis()
- 안드로이드 스튜디오
- Redis
- 개발 기술환경 파악
- 알고리즘
- 파이썬
- 정보처리기사
- idempotency
- 텍스트전처리
- 인프라 구성도
- 범위클래스
- API명세 작성
- Queue테이블
- gensim
- 백준
- Instant.now().toEpochMilli()
- Port/Adpater
- 투포인터
- 웹어플케이션서버
- 선착순 보장
- 서버구조 설계 시 고려할점
- BFS
- 코틀린
- PREFECT
- Kotlin
- 멱등한 API
- Queue
- cs50
- express
- 딥러닝
Archives
- Today
- Total
THINK HARD
코틀린 기본(3) - 컬렉션 본문
728x90
반응형
컬렉션
자바에는 리스트(List), 셋(Set), 맵(Map) 등 여러 자료구조가 있다. 코틀린에서도 이러한 컬렉션을 모두 사용가능하고 편리한 함수도 있다. 코틀린은 컬렉션을 읽기 전용(immutable)컬렉션과 읽기-쓰기(mutable)컬렉션으로 두가지로 나뉜다.
리스트(List)
리스트는 순서가 있는 자료구조이다. 읽기 전용으로할지 읽기 쓰기가 모두 가능할지 정한 후 목적에 맞는 함수로 리스트를 만들어야 한다.
// 읽기 전용
val numImmutableList = listOf(1, 2, 3)
numImmutableList[0] = 1// 오류 발생
읽기전용 리스트로 만들었기에 오류가 난다.
val numMutableList = mutableListOf(1, 2, 3)
numMutableList[0] = 100
println(numMutableList) // 100, 2, 3
println(numMutableList[0]) // 100
읽기와 쓰기 모두 가능한 리스트를 만드려면 mutableListOf() 함수를 사용하면 된다.
리스트에 어떠한 요소가 있는지 확인하려면 contains()함수를 사용하면 된다.
println(numMutableList.contains(1)) // false
println(numMutableList.contains(2)) // true
셋(Set)
Set은 순서가 없다. 또한 중복되지 않은 요소들로 만들어 지므로 같은 값을 추가하더라도 해당 값은 하나만 저장된다. 리스트와 마찬가지로 읽기 전용 셋과 읽기 쓰기 모두 가능한 셋, 총 두가지를 제공한다.
setOf() - 읽기만 가능
mutableSetOf() - 읽기 쓰기 모두 가능
//읽기와 쓰기 모두 가능한 셋
val mutableSet = mutableSetOf(1, 1, 2, 2, 3, 3)
mutableSet.add(100) // 100을 추가 -> true
mutableSet.remove(1) // 1을 제거 -> true
mutableSet.remove(200) // 200을 제거 -> false
println(mutableSet) // [2,3,100]
println(mutableSet.contains(1)) // 1을 제거 했으므로 false
맵(Map)
맵은 키와 값을 짝지어 저장하는 자료구조이다. 키는 중복되지 않도록 해야하고 읽기 전용, 읽기 쓰기 가능한 맵 두가지 종류가 있다.
// 읽기 전용 맵
val immutableMap = mapOf("name" to "jinsu", "age" to 13, "age" to 15, "height" to 160)
println(immutableMap) // {name=jinsu, age=15, height=160} -> age는 뒤에 정의한 값으로 나온다.
// 읽기와 쓰기 모두 가능한 맵
val mutableMap = mutableMapOf("돈까스" to "일식", "짜장면" to "중식", "김치" to "한식")
mutableMap.put("막국수", "한식")
mutableMap.remove("돈까스")
mutableMap.replace("김치", "맛있음")
println(mutableMap) // {짜장면=중식, 김치=맛있음, 막국수=한식}
728x90
반응형
'안드로이드 > 공부' 카테고리의 다른 글
| 코틀린 기본(2) - 제어문 (0) | 2025.09.14 |
|---|---|
| 코틀린 기본(1) (0) | 2025.09.10 |
| 에뮬레이터로 실행하기, 실제 기기로 실행하기 (0) | 2025.09.08 |
| onCreate(), setContentView(), 안드로이드스튜디오 레이아웃 파일 보는법, 레이아웃 폴더 없을 때, android:exported (0) | 2025.09.08 |
| Gradle Scripts (0) | 2025.09.02 |