😀 입출력 import java.io.* import java.util.* // 자바의 BufferedReader, InputStreamReader 이용 fun main(args: Array) = with(BufferedReader(InputStreamReader(System.`in`))){ val str = readLine() // 한줄 입력받기 (String) println(str) // 출력 // 1 2 3 으로 들어온 입력 한번에 Type 바꿔 할당하기 val (a,b,c) = readLine().split(" ").map { it.toInt() } } 😀 String (문자열) 관련 메소드 fun main() { var str = "abcd" var str2 = "123" str.length /..
fun main(){ val queue = PriorityQueue() queue.add(3) queue.add(2) queue.add(4) println(queue) } 정수형의 경우, 기본으로 크기를 비교할 수 있기 때문에 우선순위큐에서 오름차순으로 자동 정렬해준다. import java.util.* data class Node( val index : Int, val value : Int ) fun main(){ val queue = PriorityQueue() queue.add(Node(0,5)) queue.add(Node(2,3)) queue.add(Node(1,100)) println(queue.poll()) println(queue.poll()) println(queue.poll()) } 하지..
코틀린에서는 자바의 Split, StringTokenizer 를 사용하여 문자열을 쪼갤 수 있다. import java.lang.StringBuilder import java.util.* fun main(){ val str = "a b c d" val st = StringTokenizer(str) // 문자열을 쪼갬, 미지정시 공백 기준 // (" ")를 기준으로 문자열을 쪼갬 val a = str.split(" ") println(a) println(a[0]) // 처음부터 하나씩 문자열 지정 println(st.nextToken().toString()) println(st.nextToken().toString()) println() val str2 = "a!b!c!d" val st2 = StringT..
import java.lang.StringBuilder import java.util.* fun main() = with(Scanner(System.`in`)){ val sb = StringBuilder() sb.append("abc") sb.append("abc") println(sb) // abc,abc를 합친 문자열 출력 sb.setLength(0) // sb에 저장된 값 삭제 println(sb) val arr = arrayOf(1,2,3,4) arr.forEach { sb.append(it).append(' ') } // 배열의 숫자를 하나의 문자열로 합침 println(sb) } 코틀린에서 문자열을 합치기 위하여 자바의 StringBulider를 사용할 수 있다. 문자열을 단순히 '+' 연산을..
val arr1 = arrayListOf(1) val arr2 = arr1 // 배열 참조 arr2.add(2) 코틀린에서 배열을 복사하여 다른 배열을 생성하고자 할때, 위와 같이 새로운 배열 = 복사할 배열 형태로 선언하게 되면 C언어의 포인터처럼 주소값을 참조하게 되어 새로운 배열의 변경사항이 복사한 배열에도 적용된다. val arr3 = arrayListOf(1) val arr4 = arrayListOf() arr4.addAll(arr3) // 배열 복사 arr4.add(2) 따라서 addAll을 사용하면 기존의 배열을 복사할 수 있다. fun main() = with(Scanner(System.`in`)){ val arr1 = arrayListOf(1) val arr2 = arr1 // 배열 참조..
// 값이 작은 순 ( 오름차순 ) map = map.toList().sortedBy { it.second }.toMap() as MutableMap // 값이 큰 순 ( 내림차순 ) map = map.toList().sortedByDescending { it.second }.toMap() as MutableMap 코틀린에서 map을 사용할때 value 기준으로 정렬하고 싶다면 toList로 리스트 변경 후 리스트의 sortedBy 함수를 사용하여 두번째 기준점을 이용하여 정렬하고, 다시 맵으로 변경해주면 된다.
Collections의 max,min 메소드를 이용하면 컬렉션의 최대,최솟값을 구할 수 있다. import java.util.* fun main(){ val arr = arrayListOf(2,4,5,1) val max = Collections.max(arr) val min = Collections.min(arr) println("$max $min") } 자바의 메소드는 코틀린에서도 사용할 수 있기 때문에 코틀린에서 사용해주었다. 또한 maxOrNull 을 사용하여서도 쉽게 구할수 있다.
DecimalFormat 을 사용하면 출력되는 숫자의 포맷을 바꿀 수 있다. val df2 = DecimalFormat("##00.000") DecimalFormat("숫자")의 형태로 사용하며 0을 넣은 곳은 빈자리일 경우 0으로 채워주고, #은 채우지 않는다. 예시 fun main(){ val df1 = DecimalFormat("00") val df2 = DecimalFormat("##00.000") val a = df1.format(6) val b = df2.format(10000f) println(a) println(b) } 처음 출력결과는 00을 넣어 두자리 수로 출력하게 하였으므로 06이 출력되고 두번째 출력결과는 소수점 뒤에 0이 3개 붙은것을 확인할 수 있다.
Kotlin typealias 를 사용하면 제네릭 타입 변수들의 별명을 지어 사용할 수 있다. https://kotlinlang.org/docs/type-aliases.html Type aliases | Kotlin kotlinlang.org typealias NodeSet = Set typealias FileTable = MutableMap 공식문서의 예시를 확인할 수 있다. 예를 들어, val pathPoints = MutableLiveData() 이런 형태의 변수를 선언할 때, 겹치는게 너무 많아 복잡해 보이므로 최상단에 typealias Polyline = MutableList typealias Polylines = MutableList 를 선언하고 - typealias는 반드시 Top Level..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.