함수형 코드를 작성하기 위해서는, 함수형 언어인 스칼라나 클로저로의 전환이 필요한 것이 아니라 문제에 접근하는 방식의 전환이 필요하다. 명령형 처리와 함수형 처리 명령형 처리 전통적인 프로그래밍 방식 문제를 명령형 루프내에서 수행 예제 : 전형적인 회사 프로세스 어떤 이름 목록에서 한 글자로 된 이름을 제외한 모든 이름을 대문자화해서 쉼표로 연결한 문자열을 구한다. 한 글짜짜리 이름을 필터 목록에 남아있는 이름을 대문자로 변형 이 목록의 하나의 문자열로 변환 package com.promiseflower.functionalthinking.ch2; import android.os.Build; import java.util.List; import java.util.stream.Collectors; impor..
1. 컬렉션 - JVM을 기반으로 하는 코틀린에서의 컬렉션은 자바에서 제공하는 클래스들을 그대로 사용합니다. Java Kotlin java.util.ArrayList kotlin.collections.ArrayList java.util.HashMap kotlin.collections.HashMap java.util.HashSet kotlin.collections.HashSet java.util.LinkedHashMap kotlin.collections.LinkedHashMap java.util.LinkedHashSet kotlin.collections.LinkedHashSet java.util.RandomAccess kotlin.collections.RandomAccess java.util.SortedS..
1. 숫자 const val decValue: Int = 100 // 10진수 표기 const val hexValue: Int = 0x100 // 16진수 표기 const val binaryValue: Int = 0b100 // 2진수 표기 const val longValue: Long = 100L // Long 타입 const val doubleValue: Double = 100.1 // Double 타입 const val floatValue: Float = 100.0f // Float 타입 const val andValue: Int = (6 and 5) // 비트 연산 AND(논리곱) const val orValue: Int = (6 or 5) // 비트 연산 OR(논리합) const val xorV..
1. 기본 자료형 - 자바 : 값 자체를 직접 저장하는 원시 타입(int, double 등), 객체의 참조 값을 저장하는 참조 타입(String 등)으로 나뉩니다. - 코틀린 : 모든 타입을 객체로 표현하기 때문에 원시타입과 래퍼 클래스를 구분하지 않습니다. Java(원시 타입) Java(래퍼) 코틀린 byte java.lang.Byte kotlin.Byte short java.lang.Short kotlin.Short int java.lang.Integer kotlin.Int long java.lang.Long kotlin.Long char java.lang.Character kotlin.Char float java.lang.Float kotlin.Float double java.lang.Double ..
1. 클래스 및 인터페이스 // Kotlin Class 선언 class Foo { val foo : String = "foo" fun foo() { } }// Kotlin Interface 선언 interface Bar { fun bar() } - 클래스와 인터페이스는 본체 없이 선언하는것이 가능합니다. // 클래스, 인터페이스를 본체 없이 선언 class Foo interface Bar - 자바와는 다르게 클래스의 인스턴스를 생성할때 new 키워드를 사용하지 않습니다.val foo : Foo = Foo() // new 키워드 생략 val bar : Bar = Bar(1) // 인자 하나를 받는 생성자로 인스턴스 생성 - 추상 클래스 선언// 추상 클래스 선언 abstract class Foo { abs..
1. 함수 정의fun sum(a: Int, b: Int) : Int { return a + b } fun sum2(a: Int, b: Int) = a + b // 함수의 처리가 식(Expression)인 경우 return 생략 가능 fun printKotlin() : Unit { // 함수의 리턴할 값이 없을 경우 Unit(Singleton Object)로 return // Unit : Java의 void 리턴 역활 println("Hello Kotlin!") } fun printKotlin2() { // Unit은 생략 가능 println("Hello Kotlin2!") } fun main(args: Array) { println(sum(5, 10)) println(sum2(5, 10)) printKo..
문제 코드 import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(System.in); int t = scanner.nextInt(); for (int test_case = 0; test_case < t; test_case++) { int n = scanner.nextInt(); int[] a = new int[n]; for (int i = 0; i < n; i++) { a[i] = scanner.nextInt(); } long sum = 0L; for (int i = 0; i < n - 1; i++) { for (int ..
문제 코드 import java.util.Scanner; public class Main { static int[] A, B; public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); A = new int[n]; B = new int[n]; for (int i = 0; i < n; i++) { A[i] = scanner.nextInt(); B[i] = scanner.nextInt(); System.out.println(operation(A[i], B[i])); } } public static int operation(int a, int ..
- Total
- Today
- Yesterday
- 문자열
- #android #motionlayout
- 최대공약수와 최소공배수
- algorihtm
- javacv
- a^b
- 10828
- 자동타입
- mssql
- 2743
- 1158
- 함수형사고 Kotlin Java
- #kotlin
- 1260
- kotlin
- 10827
- 큰 수 A+B
- 10826
- 알고리즘
- 영상처리
- 단어 길이 재기
- 조세퍼스 문제
- 10757
- GCD 합
- Eclipse
- OpenCV
- constraintlayout
- 피보나치 수 4
- 1237
- algorithm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |