Java - Stream - Parallel Stream
말 그대로 stream을 병렬로 수행해주는 아이를 말하는데, 어렵지 않고 그냥 Stream에서 를 호출한 다음 그냥 죽 이어서 하면 됩니다. 보통은 그냥 로 생각하고 진행하게 되죠. 아래에서는 간단히, 1부터 1000000000(billion)까...
말 그대로 stream을 병렬로 수행해주는 아이를 말하는데, 어렵지 않고 그냥 Stream에서 를 호출한 다음 그냥 죽 이어서 하면 됩니다. 보통은 그냥 로 생각하고 진행하게 되죠. 아래에서는 간단히, 1부터 1000000000(billion)까...
Java - infinite Stream - generate, iterate 의 경우 전달받은 에 따라 무한히 값을 생성해내는 stream입니다. 의 경우 seed로부터 출발해서, 를 적용하여 순차적으로 값을 넣어주죠. 그냥 무한 등차수열 같은 ...
보통 는 , , 과 같은 reference type등을 담습니다. 가끔 int, double 등을 사용해서 프로그램을 짜다가, 으로 변경하고 싶은 경우에는 각각 Integer, Double으로 변형해서 처리해줘도 됩니다만, 아무래도 좀 비효율적이...
은 와 2차원으로 되어 있는 List를 1차원 List로 변형해줄 때 쓰입니다. 말 그대로, 평평하게 해주는 애들이죠. 가령 를 로 바꿔준다. 물론, 을 쓰면 되는 건데, 이걸 안 쓰고 다른 방법으로 과 비슷하게 코딩할 수는 없는지 고민했고, 그...
은 list의 요소들을 각각 정의된 function대로 변경해주는 것을 말합니다. 가령 이라는 리스트가 있을 때 얘를 모두 square로 변경하고 싶다면 다음처럼 하면 되죠. Java - Functional Stream - flatMap 은 Li...
Java - reduce 는 list 내의 원소들에 대해서 binary 연산은 순차적으로 수행하도록 해주는 것을 말하죠.
java에서 은 "메서드의 반환 값이 '없음'을 의미적으로 표현할 필요가 있지만, null값으로 반환하고 싶지는 않은 경우"에 사용하기 위해서 만들어졌습니다. 이상하죠. 실제로 null은 아니지만, 의미적으로 아무 것도 반환되지 않았다! 라는 것...
Java에서 List와 같이 연속된 값들을 처리할 때는 두 가지 방식이 있습니다. 문을 사용하는 방법과, 을 통해 method를 chaining해 가면서 쓰는 방법이 있죠. 에 집어넣어서 처리해줘도 되는데, 이렇게 할 경우 한 번 읽어들인 다음,...
다음처럼 Object에 Null이 assign되어 있는 경우에는 이 발생합니다. 물론 다음처럼 인지 체크하는 코드를 넣으면 더 좋기는 한데, 코드가 좀 지저분해지죠. 따라서, 클래스가 등장하게 됩니다. 물론 이 클래스에도 값을 대입할 수는 있기는...
Java에서 Function들은 , 라는 두 메소드를 가지고 있는데, 이 메소드를 사용해서 새로운 함수를 만들어낼 수 있습니다. 다만, 적용 순서가 조금 다릅니다. - : g(f(x)) - : f(g(x))
Java - Currying Currying은 개의 인자를 받는 함수로부터 의 인자의 값을 고정한 새로운 함수를 만들어내는 것을 말합니다. Java - Currying Example Java에서도 를 사용해서 currying을 수행할 수 있습니다...
직접 interface와 Annotation을 사용하여 Function을 정의하고 구현하여 사용할 수 있으나, 귀찮으므로 웬만하면 이미 Java에서 구현되어 패키지에 있는 놈들을 사용하기로 합니다. Java에는 다음과 같은 5 종류의 Functi...
Java - Function 이전에 우리는 Method Reference 방식을 이용해서 라는 타입의 변수에 함수를 넣어주었습니다. 그런데, 만들어진 함수를 보면 실행할 때 로 실행하는 것이 아니라, 로 실행합니다. 마치 우리가 늘 쓰던 의 방식...
Java에는 이미 수많은 Class들과 Method들이 있습니다. Java에서 Function을 이용해서 프로그래밍을 한다고 할때, Class 혹은 Object의 Method들을 가져와서 동일한 기능을 가지는 함수로 사용할 수 있다면, 좀 더 유...
Java - Map Map은 로 구성하는 자료구조입니다. python의 dictionary와 비슷하죠. Map Interface의 구현체로는, , , 이 있죠. 의 경우 HashTable에 의해서 관리되기 때문에, , 메소드를 사용할 때, con...