본문 바로가기

반응형

공부/코틀린

(4)
[Kotlin] 파일 입출력 방법 fun main() { val path = "C:\\Users\\SD\\IdeaProjects\\HelloKotlin\\src\\Text.txt" var br = BufferedReader(FileReader(path)) var str = br.readLine() var n = Integer.parseInt(str) for(i in 0 until n*n) { var token = StringTokenizer(br.readLine()) var stu = token.nextToken().toInt() for(i in 0 until 4) { student[stu][i] = token.nextToken().toInt() } } BufferedReader과 readLine을 통해 입력을 readline을 Stri..
[Kotlin] PriorityQueue, sortWith 사용법 (Comparator 사용) 코틀린의 운선순위 큐는 Comparator를 전달하여 사용한다. var pq = PriorityQueue(Comparator{a,b -> 조건식}) 구조 진하게 한 부분은 람다식 다만, 람다식을 이용해서 var pq = PriorityQueue{a,b -> 조건식} 이렇게 간단하게 표현할 수 있다. 코드 import java.util.* fun main() { var lambda = {a:Int,b:Int-> when{ a 1 a>b -> -1 else -> 0 }} var pq = PriorityQueue(Comparator{a,b -> when{ a.first !=b.first -> lambda(a.first,b.first) else -> lambda(a.second, b.second) }}) var..
[Kotlin] 상속과 위임 scroogy.tistory.com/3 상속 vs 위임 (기능추가) 상속 - is a 관계 - 구현이 쉬우나 부모 클래스가 바뀌면 자식 클래스가 영향을 받는다. 즉, 결합도(커플링)이 강하다. 상속이 is a 관계이긴 하지만 is a 관계보다는 한 객체가 다른 객체처럼 행동 scroogy.tistory.com 요약: 상속: IS-A관계일때 사용 class Employee(): Person Employee is Person 위임:HAS-A관계일 때 사용 CPU is Computer는 조금 이상하다. Computer has CPU가 올바르다. class Computer(CPU cpu) : CPU by cpu --> cpu의 내부 프로퍼티들을 cpu.을 통해 부르지 않아도 부를 수 있음.
[Kotlin] let, with, run, apply, also 차이 blog.yena.io/studynote/2020/04/15/Kotlin-Scope-Functions.html [Kotlin] 코틀린 let, with, run, apply, also 차이 비교 정리 let, with, run, apply, also 코틀린에는 이렇게 생긴 확장함수들이 있다. 객체를 사용할 때 명령문들을 블럭{} 으로 묶어서 간결하게 사용할 수 있게 해주는 함수들이다. 문제는 서로 비슷비슷해서 헷 blog.yena.io let, with, run, apply, also 차이 1. let : 확장 함수 T?.let{작업} T가 null이 아닐 경우 처리할 작업을 수행 -> 내부의 T는 non-null로 처리 리턴값은 작업의 마지막 부분 R 예) node?.left?.let{dfs(node...

반응형