Language & Runtime/Java

    [Java] Stream API

    Java 8에서 큰 변경점 중 하나인 Stream API를 공부해 보자. (스크립트 언어를 주로 쓰다 Java로 넘어오니 답답한 부분들이 많았는데 조금이나마 해소되었다 :D) # Stream 이란? Java에서는 많은 양의 데이터를 저장하기 위해 배열이나 컬렉션을 사용한다. 하지만, 이렇게 저장된 데이터에 접근하려면 반복문(for, while)이나 반복자(iterator)를 사용해야만 했는데, 이는 너무 장황할뿐더러 재사용이 거의 불가능하다. 또한, 내가 Java를 처음 공부하며 킹 받았던 부분인데, 각 컬렉션 클래스마다 같은 기능의 메서드가 중복 정의 되어있다. List를 정렬할 때는 Collections.sort()를 쓰고, 배열을 정렬할 때는 Arrays.sort() 쓰고?! 이러한 문제점들을 해결..

    [Java] BufferedReader와 BufferedWriter

    백준과 같이 input 값을 직접 받아야 하는 알고리즘 문제를 자바로 풀다 보면 Scanner 사용 시 시간 초과가 발생하는 문제가 있다. 이를 BufferedReader와 BufferedWriter를 사용해 해결한다. #BufferedReader 문자열을 입력받는 Scanner에 대응되는 클래스이다. 다만, 잘 알고쓰자. 먼저 Oracle 공식 문서를 보면, Reads text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines. 요약하면 BufferedReader는 문자를 버퍼링 하는 클래스이다. 원래 InputStreamRe..