본문 바로가기

💡 Kotlin

(10)
[kotlin] forEach(람다식)의 return break, continue처럼 사용하기 return 가장 가까운 enclosing function을 return 시킨다 val arr = arrayListOf("A","B","C","D","E","F","G") fun checkForEach() { arr.forEach { if(it == "D") return } println("찍힐까요 안 찍힐까요?") } 위의 예제를 실행하면 어떤 결과가 나타날까? 더보기 checkForEach()를 return 시키므로, println문이 찍히지 않는다 함수내의 lambda식을 return하고 싶다면? return@label 특정 label의 lambda식을 return 한다 val arr = arrayListOf("A","B","C","D","E","F","G") fun checkForEach() { ..
[Activity] LaunchMode 안녕하세요오 🤟 오늘은 Activity의 LaunchMode에 관해 알아보겠습니다 이게 은근 이름도 비슷하고 헷갈리더라구요 🥲 포스팅하면서 다시 한 번 공부해보는 시간이였습니다 그럼 스탙-! 🔍 LaunchMode 간단히 말하자면 launmode는 말 그대로 Activity가 Task에서 어떻게 실행되는지에 대해 설정하는 부분입니다. 정할 수 있는 속성으론 standard, singleTop, singleTask, singleInstance 가 있습니다 우선 각 속성을 알아보기 전, 아래 2가지에 대해 먼저 알아보겠습니다 📌 Task , 📌 Flag Activity는 FILO order로, 가장 처음에 실행된 Activity는 Root, 마지막에 실행되는 Activity는 Top이 됩니다. (Andro..
[Kotlin] Collection 함수 - (1) 원소 변환 및 필터, 특정원소 검색 컬렉션의 원소 타입을 변환하거나 필터링 하는 과정은 코딩테스트에서 빈번하게 사용되더라구요 꼭 익혀두도록 해야겠어요 :) Collection에 확장함수는 정말 너무나도 많아요.. 공식문서에 스크롤이 이를 증명합니다.. 어떻게 나눠야 하나 많이 고민했는데 우선 1️⃣ 원소 변환 및 필터, 특정원소 검색 2️⃣ 수학적 개념 3️⃣ index 관련 4️⃣ 형식변환5️⃣ 값 반환 및 정렬 순으로 정리해볼까 해요 :) 이유는 제맘입니다..🫢 바뀔수도 있어요 ,, 원소 변환 Map Collection 타입을 Collection 타입으로 변환 공식문서엔 아래와 같이 설명되어있어요 Returns a list containing the results of applying the given transform function..
[Kotlin] mutable Collection 2023.01.03 - [💡 Kotlin] - [Kotlin] Collection (List, Set, Map) [Kotlin] Collection (List, Set, Map) 많이 접한만큼 익숙한 자료구조이지만, 한번 더 살펴보겠습니다 Collection 자료구조 중 하나로, 크게 3가지 컬렉션이 있습니다 (List, Set, Map) List와 Set은 Collection을 상속받고, Map은 독자적입니다 간 kong-droid.com 이전 포스팅에서 Collection에 대해 알아봤는데, Collection 인터페이스에서 원소를 수정하려면 Mutable Collection을 사용해야해요 오늘은 Mutable Collection에 대해 알아보겠습니다 ✏️ MutableCollection interf..
[Kotlin] Collection (List, Set, Map) 많이 접한만큼 익숙한 자료구조이지만, 한번 더 살펴보겠습니다 Collection 자료구조 중 하나로, 크게 3가지 컬렉션이 있습니다 (List, Set, Map) List와 Set은 Collection을 상속받고, Map은 독자적입니다 간단히 3가지의 특징, 생성법에 대해 알아보자면, ✅ List : 순서 O val list: Collection = listOf(1,2,3) ✅ Set : 순서 X, 중복 X val set: Collection = setOf(9,8,7) ✅ Map : [키-값]의 형태 , 키는 중복 X val map: Map = mapOf("First" to 0, "Second" to 1) Collection Interface interface Collection : Iterator Co..
[kotlin] Pair Pair 두 변수를 하나로 묶어주는 클래스 (사용되는 경우가 많으므로 잘 알아두기) data class Pair : Serializable Pair 클래스의 Properties - first : Pair의 첫번째 값 - second : Pair의 두번째 값 Pair 생성하기 var (x,y) = Pair(3, 0.14) var (x,y) = Pair(3, 0.14) 자료형은 삭제해도 상관없다 Pair의 리스트화 toList() var x = Pair(3, 0.14).toList() toList()를 통해 리스트화 가능 두 값을 Pair화 시키려면 val test : Pair = 3 to 0.14 ✔️ to 확장함수 사용 infix fun A.to(that: B): Pair = Pair(this, that..
[Kotlin] apply, let, with, also, run 비교 (Scope Function) 안녕하세요 :) 오늘은 코틀린의 다섯 가지 함수를 비교해보고자 합니다. [2022.07.14 업데이트] SCOPE 함수란? 객체의 컨텍스트 내에서 코드 블록을 실행하는 것이 유일한 목적인 함수입니다. 람다식으로 SCOPE 함수를 호출할 때 임시적으로 범위를 생성하고, 해당 범위 내에선 객체의 이름 없이 객체에 접근할 수 있습니다(it, this 등) 기본적으로 5가지 함수는 같은 기능을 하지만 표현식이 어떻게 되는지, 블록 내에서 객체 사용법에 따라 구분합니다 📍 let 함수원형 public inline fun T.let(block : (T) -> R): R 객체를 블록의 인자(T)로 넘기고, 람다의 결과값(R)을 반환합니다. val numbers = mutableListOf("one", "two", "..
[Kotlin] 배열 안녕하세요 😊 코틀린에서 배열을 생성하고 사용하는 방법에 대해 알아보고자 합니다 포스팅에서는 Int형 배열을 생성하는 방법을 예로 들겠습니다 일차원 배열 생성하기 코틀린을 이용하여 다양한 방법으로 배열을 생성해보겠습니다 1. arrayOf() 배열의 선언과 동시에 데이터를 넣는 방법으로, 자료형 선언 없이 ()안에 데이터를 넣어주면 됩니다 Array 형태로 생성됩니다 val arr1 = arrayOf(1,2,3) // Array 2. 자료형ArrayOf() 배열의 선언과 동시에 데이터를 넣는 방법으로, 자료형ArrayOf()로 선언합니다 IntArray 형태로 생성됩니다 val arr2 = intArrayOf(1,2,3) // IntArray 3. arrayOfNulls(배열 크기) 비어있는 배열을 먼저..