Java - stream - Collectors.groupingBy
은 stream의 각 요소에 을 적용하고 적용 결과를 key에 원소를 value에 넣어서 Map으로 리턴하는 방법을 말합니다. 또한 모아진 애들별로 operation을 추가로 적용할 수도 있습니다.
은 stream의 각 요소에 을 적용하고 적용 결과를 key에 원소를 value에 넣어서 Map으로 리턴하는 방법을 말합니다. 또한 모아진 애들별로 operation을 추가로 적용할 수도 있습니다.
을 할 때, 를 사용하여 모으면 Predicate의 결과인 , 를 key로, 그리고 원소는 각 value에 들어가는 Map이 생성됩니다.
Array를 Stream으로 변경하려면, 을 사용하면 됩니다. 가령 Scanner를 사용해서 입력받은 String을 split하여 바로 Stream으로 처리하려면 다음처럼 하면 되죠.
다음과 같은 간단한 코드가 있습니다. 간단히, 의 요소들의 합을 모두 게산해주는 코드죠. 코드에 오류가 없을까요? 위 코드를 실제로 실행해 보면 다음과 같은 오류가 생깁니다. 에 가 존재하지 않는다는 이야기죠. 사람은 가 정수로 구성되어 있으니,...
아래 코드를 봅시다. 에 대해서 간단한 를 처리하고 를 통해 List로 변환해서 넘겨주는 것이죠. 언뜻 보기에는 잘 되는 것처럼 보이지만, 그렇지 않습니다. 다음과 같은 오류 메세지가 뜹니다. 의 는 3가지 타입의 argument를 필요로 하는데...
java에서 File을 읽거나 혹은 쓰는 방법을 정리합니다. java.io.File java에서 을 읽거나 쓰려면, class를 사용하면 됩니다. File을 읽은 다음에 간단한 meta 정보를 알고 싶다면 다음의 method들을 사용해서 처리할 ...
말 그대로 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에서 List와 같이 연속된 값들을 처리할 때는 두 가지 방식이 있습니다. 문을 사용하는 방법과, 을 통해 method를 chaining해 가면서 쓰는 방법이 있죠. 에 집어넣어서 처리해줘도 되는데, 이렇게 할 경우 한 번 읽어들인 다음,...