목록언어/Java&Kotlin (14)
Simple&Natural
자바의 String 클래스에서는 문자열을 다루는 각종 유용한 함수들을 제공하고 있다. 그 중에서 substring() 함수는 문자열의 일부를 추출할 수 있는 기능을 제공한다. substring() 함수는 startIndex, endIndex 두 가지를 인자로 가지며 startIndex만 전달해주면 해당 인덱스부터 문자열의 끝을 반환한다. Apple이라는 단어를 substring에서 사용하게 되면 다음과 같은 index 번호를 갖는다. 예제코드 val word = "apple" println(word.substring(1)) println(word.substring(2)) println(word.substring(1,3)) println(word.substring(0,3)) println(word.subs..
자바에서 문자열 format 사용시 참고하는 공식문서 자료 Formatting Numeric Print Output Earlier you saw the use of the print and println methods for printing strings to standard output (System.out). Since all numbers can be converted to strings (as you will see later in this lesson), you can use these methods to print out an arbitrary mixture of strings and numbers. The Java programming language has other methods, how..
하단 링크의 알고리즘을 이용하여 직접 Collection에 대한 Shuffle 함수를 만들 수 있다. 찾아보니 자체적으로 Shuffle을 지원해주므로 따로 구현할 필요는 없다. 자바 api 에서는 다음과 같이 shuffle을 구현하고 있다. public static void shuffle(List list, Random rnd) { int size = list.size(); if (size 1; i--) swap(list, i-1, rnd.nextInt(i)); } else { Object arr[] = list.toArray(); // Shuffle array for (i..
Coroutine 의 Async는 Await 이전에 async를 호출한 시점부터 이미 동작을 시작하고 모든 작업이 완료된 이후에 await을 통해 결과를 반환한다. 결과에서 delay 이전의 출력 메시지는 무작위로 섞여 나올 수 있다. 각 출력이 독립적으로 실행되기 때문이다. 소스코드 @Test fun coroutineTest() = runBlocking { val taskAsync1 = CoroutineScope(Dispatchers.IO).async { println("Async1 working...") } val taskAsync2 = CoroutineScope(Dispatchers.IO).async { println("Async2 working...") } println("waiting...") ..