일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 롬복 어노테이션
- 다리를 지나는 트럭
- @Data
- 전화번호 목록
- 알고리즘
- H-index
- 영속 자료구조
- 정렬
- Java
- 모던 자바 인 액션
- 가장 큰 수
- 검색 기능 확장
- @configuration
- 커링
- 스택/큐
- 기능개발
- K번째수
- 프로그래머스
- 완주하지 못한 선수
- 루씬 인 액션
- 고차원 함수
- @EnableScheduling
- 스프링 스케쥴러
- @Setter
- 쿠버네티스
- kubenetes
- 크론 표현식
- @Getter
- 해시
- 코딩 테스트
- Today
- Total
목록전체 글 (134)
Today I Learned

이 장의 내용 Collectors 클래스로 컬렉션을 만들고 사용하기 하나의 값으로 데이터 스트림 리듀스하기 특별한 리듀싱 요약 연산 데이터 그룹화와 분할 자신만의 커스텀 컬렉션 개발 6.1 컬렉터란 무엇인가? Collector 인터페이스 구현은 스트림의 요소를 어떤 식으로 도출할지 지정한다. 리스트를 만들기위해 toList를 Collector 인터페이스의 구현으로 사용하거나 groupingBy를 이용해서 각 키 버킷에 대응하는 요소 별로 맵을 만들 수도 있다. 6.1.1 고급 리듀싱 기능을 수행하는 컬렉터 컬렉터의 최대 강점은 collect로 결과를 수집하는 과정을 간단하면서도 유연한 방식으로 정의할 수 있다는 점이다. 스트림에서 collect를 호출하면 collect에서는 리듀싱 연산을 이용해서 스트림..

9장. LSP : 리스코프 치환 원칙 리스코프는 하위타입을 다음과 같이 정의했다. S 타입의 객체 o1 각각에 대응하는 T 타입 객체 o2가 있고, T 타입을 이용해서 정의한 모든 프로그램 P에서 o2의 자리에 o1을 치환하더라도 P의 행위가 변하지 않는다면, S는 T의 하위 타입이다. 정사각형/직사각형 문제 LSP를 위반하는 전형적인 문제로 유명한 정사각형/직사각형 문제가 있다. Rectangle은 높이와 너비가 서로 독립적으로 변경될 수 있는 반면, Square는 높이와 너비가 반드시 함께 변경되야한다. 따라서 Square는 Rectangle의 하위타입으로는 적합하지 않다. LSP 위반을 막기 위해서는 (if문 등을 이용해서)Rectangle이 실제로는 Square인지 검사하는 매커니즘을 User에 ..

5.6 실전 연습 지금까지 배운 내용을 이용해서 아래 질문들을 해결해보자. 2011년에 일어난 모든 트랜잭션을 찾아 오름차순으로 정렬하시오. 거래자가 근무하는 모든 도시를 중복 없이 나열하시오. 케임브리지에서 근무하는 모든 거래자를 찾아서 이름순으로 정렬하시오. 모든 거래자의 이름을 알파벳 순으로 정렬해서 반환하시오. 밀라노에 거래자가 있는가? 케임브리지에 거주하는 거래자의 모든 트랜잭션값을 출력하시오. 전체 트랜잭션 중 최댓값은 얼마인가? 전체 트랜잭션 중 최솟값은 얼마인가? 5.6.1 거래자와 트랜잭션 다음과 같이 Trader 리스트와 Transaction 리스트를 이용한다. Trader raoul = new Trader("Raoul", "Cambridge"); Trader mario = new Tr..

SOLID 원칙 SOLID 원칙은 함수와 데이터 구조를 클래스로 배치하는 방법, 그리고 이들 클래스를 서로 결합하는 방법을 설명해준다. SRP : 단일 책임 원칙 Single Responsibility Principle 각 소프트웨어 모듈은 변경의 이유가 단 하나여야만 한다. OCP : 개방-폐쇄 원칙 Open-Closed Principle 기존 코드를 수정하기보다는 새로운 코드를 추가하는 방식으로 시스템의 행위를 변경할 수 있도록 설계해야만 소프트웨어 시스템을 쉽게 변경할 수 있다. LSP : 리스코프 치환원칙 Liskov Substitution Principle 상호 대체 가능한 구성요소를 이용해 소프트웨어 시스템을 만들 수 있으려면, 이들 구성요소는 반드시 서로 치환 가능해야 한다. ISP : 인터..