본문 바로가기

분류 전체보기556

Kotlin] 49. sequence sequence도 list와 비슷한 기능을 하지만, list와 다른 점은 데이터를 필요할때마다 계산하기 때문에 데이터를 많이 다룰 수 있는 장점이 있다. 대신 데이터를 필요할때마다마다 계산해내기 때문에 데이터 전체의 길이를 구하는 것은 불가능하다. 따라서 size나 length같은 길이 관련 프로퍼티를 사용할 수 없다. 보다시피 length나 size는 없는 함수로 나온다. package sequenceEx fun main() { val seq : Sequence = sequenceOf(1,2,3) for(i in seq){ print("$i ") } } 결과 : 1 2 3 으로 반복자는 실행이 된다. 말 그대로 정말 저 seq가 호출될 바로 당시만 계산을 하는 것이다. 2020. 12. 23.
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.
반응형