일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 가장 큰 수
- 해시
- 고차원 함수
- K번째수
- 쿠버네티스
- @Getter
- @Data
- 영속 자료구조
- 다리를 지나는 트럭
- 코딩 테스트
- 알고리즘
- 스프링 스케쥴러
- 스택/큐
- @configuration
- 롬복 어노테이션
- kubenetes
- @Setter
- 완주하지 못한 선수
- 크론 표현식
- 검색 기능 확장
- 프로그래머스
- 전화번호 목록
- 모던 자바 인 액션
- 정렬
- 루씬 인 액션
- @EnableScheduling
- H-index
- Java
- 기능개발
- 커링
- Today
- Total
목록JAVA & Spring/모던 자바 인 액션 (23)
Today I Learned
이 장의 내용 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..
이 장의 내용 필터링, 슬라이싱, 매칭 검색, 매칭, 리듀싱 특정 범위의 숫자와 같은 숫자 스트림 사용하기 다중 소스로부터 스트림 만들기 무한 스트림 이 장에서는 스트림 API가 지원하는 다양한 연산을 살펴본다. 5.1 필터링 5.1.1 프레디케이트로 필터링 filter 메서드는 predicate(불리언을 반환하는 함수)를 인수로 받아서 일치하는 모든 요소를 포함하는 스트림을 반환한다. List vegetarianMenu = menu.stream() .filter(Dish::isVegetarian) .collect(toList()); 5.1.2 고유 요소 필터링 스트림은 고유 요소로 이루어진 스트림을 반환하는 distinct 메서드를 지원한다. List numbers = Arrays.asList(1, 2..
이 장의 내용 스트림이란 무엇인가? 컬렉션과 스트림 내부 반복과 외부 반복 중간 연산과 최종 연산 4.1 스트림이란 무엇인가? 스트림(Stream)은 자바 8 API에서 새로 추가된 기능이다. 스트림을 이용하면 선언형(데이터를 임시 구현 코드 대신 질의료 표현)으로 컬렉션 데이터를 처리할 수 있다. 또한 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있다. 기존 코드(자바7) List lowCaloricDishes = new ArrayList(); for(Dish dish : menu) { if(dish.getCalories() < 400) { lowCaloricDishes.add(dish); } } Collections.sort(lowCaloricDishes, new Compar..