일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 전화번호 목록
- 프로그래머스
- 영속 자료구조
- kubenetes
- K번째수
- 가장 큰 수
- 완주하지 못한 선수
- @EnableScheduling
- 기능개발
- 다리를 지나는 트럭
- 모던 자바 인 액션
- @Data
- @configuration
- 검색 기능 확장
- 코딩 테스트
- 스택/큐
- 루씬 인 액션
- 정렬
- 쿠버네티스
- 롬복 어노테이션
- H-index
- 해시
- 알고리즘
- 스프링 스케쥴러
- @Setter
- 커링
- 크론 표현식
- @Getter
- 고차원 함수
- Java
- Today
- Total
목록JAVA & Spring (29)
Today I Learned
이 장의 내용 병렬 스트림으로 데이터를 병렬 처리하기 병렬 스트림의 성능 분석 포크/조인 프레임워크 Spliterator로 스트림 데이터 쪼개기 7.1 병렬 스트림 병렬 스트림이란 각각의 스레드에서 처리할 수 있도록 스트림 요소를 여러 청크로 분할한 스트림이다. 숫자 n을 인수로 받아서 1부터 n까지의 모든 숫자의 합계를 반환하는 메서드를 구현한다고 해보자. public long sequentialSum(long n) { return Stream.iterate(1L, i -> i + 1) .limit(n) .reduce(0L, Long::sum); } n이 커져서 병렬로 처리해야되는 상황이라면 무엇부터 건드려야할까? 결과 변수는 어떻게 동기화해야할까? 몇 개의 스레드를 사용해야 할까? 숫자는 어떻게 생성..
6.4 분할 분할은 분할 함수라 불리는 프레디케이트를 분류 함수로 사용하는 특수한 그룹화 기능이다. 분할 함수는 불리언을 반환하므로 맵의 키 형식은 Boolean이며, 참 또는 거짓을 갖는 두 개의 그룹으로 분류된다. Map partitionedMenu = menu.stream().collect(partitioningBy(Dish::isVegetarian)); // {false=[pork, beef, chicken, prawns, salmon], // true=[french fires, rice, season fruit, pizza]} true 값의 키로 맵에서 모든 채식 요리를 얻을 수 있다. List vegetarianDishes = partitionedMenu.get(true); //채식인 요리 메..
이 장의 내용 Collectors 클래스로 컬렉션을 만들고 사용하기 하나의 값으로 데이터 스트림 리듀스하기 특별한 리듀싱 요약 연산 데이터 그룹화와 분할 자신만의 커스텀 컬렉션 개발 6.1 컬렉터란 무엇인가? Collector 인터페이스 구현은 스트림의 요소를 어떤 식으로 도출할지 지정한다. 리스트를 만들기위해 toList를 Collector 인터페이스의 구현으로 사용하거나 groupingBy를 이용해서 각 키 버킷에 대응하는 요소 별로 맵을 만들 수도 있다. 6.1.1 고급 리듀싱 기능을 수행하는 컬렉터 컬렉터의 최대 강점은 collect로 결과를 수집하는 과정을 간단하면서도 유연한 방식으로 정의할 수 있다는 점이다. 스트림에서 collect를 호출하면 collect에서는 리듀싱 연산을 이용해서 스트림..
5.6 실전 연습 지금까지 배운 내용을 이용해서 아래 질문들을 해결해보자. 2011년에 일어난 모든 트랜잭션을 찾아 오름차순으로 정렬하시오. 거래자가 근무하는 모든 도시를 중복 없이 나열하시오. 케임브리지에서 근무하는 모든 거래자를 찾아서 이름순으로 정렬하시오. 모든 거래자의 이름을 알파벳 순으로 정렬해서 반환하시오. 밀라노에 거래자가 있는가? 케임브리지에 거주하는 거래자의 모든 트랜잭션값을 출력하시오. 전체 트랜잭션 중 최댓값은 얼마인가? 전체 트랜잭션 중 최솟값은 얼마인가? 5.6.1 거래자와 트랜잭션 다음과 같이 Trader 리스트와 Transaction 리스트를 이용한다. Trader raoul = new Trader("Raoul", "Cambridge"); Trader mario = new Tr..