본문 바로가기

Android/안드로이드 스터디(Kotlin)61

Kotlin] 48. Mutable Collection 기본적으로 코틀린이 가진 collection은 다 변경할 수 없는 컬렉션이다. 그렇기 때문에 Thread-self 하다. 그러나.. 우리는 자바유저들.. 우리는... 변경이 매우 익숙하다.. 코틀린도 물론 컬렉션을 변경할 수 있는 컬렉션을 따로 제공한다. 그것이 MutableCollection이다. 이것은 기존에 collection이 가지는 멤버함수 이외에 몇몇 멤버함수를 더 가진다. add(value) : 기존 컬렉션 뒤에 값을 하나 더 추가한다 addAll(collection) : 기존 컬렉션 뒤에 컬렉션 값을 더 추가한다 remove(value) : 해당 값을 찾아 하나 삭제한다. 이 때, 컬렉션의 가장 앞의 값을 먼저 제거한다. removeAll(collection) : 해당 컬렉션에 포함된 값을.. 2020. 12. 23.
Kotlin] 47. Collection Collection.. 자바에서도 참 많이 쓴다.. 진짜 많이 쓰고 정말 많이 쓴다.. list나 map는 자바 웬만큼 해본 사람이면 안써본 사람이 없을것이다.. 코틀린에도 대응되는 컬렉션들이 있다. list : 순서가 있는 목록을 구성한다. 중복을 허용한다 set : 순서가 없는 집합을 구성한다. 중복을 불허한다. map : 키-값 쌍을 표현하는 자료구조이다. 값은 중복될 수 있으나 키는 중복될 수 없다. 간단한 예시코드이다. package collectionEx fun main() { val list : Collection = listOf(10,20,10) val set : Collection = setOf(10,20,10) val map : Map = mapOf("Java" to "자바", "Kot.. 2020. 12. 23.
Kotlin] 46. Iterable 인터페이스 이 인터페이스는 앞서 closeRange할 때 말했던 IntRange, LongRange, CharRange에 있는 Progression 인터페이스가 상속한 인터페이스이다. 이 인터페이스는 for문의 in을 사용할 수 있게 해준다. 이 함수에는 세 가지 프로퍼티가 있는데, first : 반복자의 첫 값 반환 last : 반복자의 마지막 값 반환 step : 반복자가 몇 스탭을 건너뛰고 다음 값을 반환하는지 그 값을 출력. 일단 예시를 보자. package iterableEx fun main() { val prog : IntProgression = 3..7 println(prog.first) println(prog.last) println(prog.step) println("====") for(i in p.. 2020. 12. 23.
Kotlin] 45. ClosedRange Range 라는 말을 보면 어떤가? 이젠 딱 봐도 범위가 생각나야지.. 말 그대로 닫힌 구간을 표기하는 인터페이스이다. 닫힌 구간에서는 당연히 시작과 끝을 알 수 있고, 또 범위 특성상 내부를 쭉 훑어서 큰 값과 작은 값의 비교가 가능해야한다. 즉, Comparable을 상속하는 값들(기존에 범위를 측정 가능한 자료형 + 임의로 Comparable을 상속하는 클래스 자료형)만이 closeRange 인터페이스를 사용할 수 있다. 또 범위가 비었는지 아닌지도 측정이 가능하다. 예시를 보자. package closedRangeEx fun main() { val intRange : IntRange = 1..10 val longRange : LongRange = 1L .. 100L val charRange : C.. 2020. 12. 23.
반응형