일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- java
- auto configuration
- 쓰레드 안전
- findFirst
- JsonStringType
- Save Action
- JsonType
- fotmatter
- vaultTemplate
- AOP this
- 개방/폐쇄 원칙
- AOP 매개변수
- @AutoConfiguration
- Stream
- AOP
- RestTemplate
- findAny
- ClientHttpRequestInterceptor
- spring
- gradle
- ResponseBodyAdvice
- jpa
- Spring Boot
- 포맷터
- Starter
- AOP target
- Thread Safety
- restTemple
- LogInterceptor
- AccessLevel
- Today
- Total
목록JAVA/Stream (11)
맨땅에 헤딩하는 개바른자
git https://github.com/ymwoo88/stream/tree/feature/groupingBy-%EC%98%88%EC%A0%9C 설명 Stream 안의 데이터에 classifier를 적용했을 때 결과값이 같은 값끼리 List로 모아서 Map의 형태로 반환해주는 Collector 입니다. 이때 키는 classifier의 결과값, value는 그 결과값을 같는 데이터들 입니다. groupingBy T 유형의 입력 요소에 대한 "그룹화 기준" 작업을 구현하고 분류 함수에 따라 요소를 그룹화하고 결과를 Map에 반환하는 Collector를 반환합니다. 분류 함수는 요소를 일부 키 유형 K에 매핑합니다. 수집기는 키가 분류 함수를 입력 요소에 적용한 결과 값이고 해당 값이 입력 요소를 포함하는 목..
git https://github.com/ymwoo88/stream/tree/feature/find%EA%B8%B0%EB%8A%A5-%EC%98%88%EC%A0%9C 설명 findFirst Stream 안의 첫번째 데이터를 반환합니다. Stream이 비어있다면 빈 Optional을 반환합니다. 이 스트림의 첫 번째 요소를 설명하는 옵션을 반환하거나 스트림이 비어 있으면 빈 옵션을 반환합니다. 스트림에 발생 순서가 없으면 모든 요소가 반환될 수 있습니다. 이것은 단락 단자 작동입니다. Returns: 이 스트림의 첫 번째 요소를 설명하는 Optional 또는 스트림이 비어 있는 경우 빈 Optional Throws: NullPointerException – 선택한 요소가 null인 경우 Optional f..
git https://github.com/ymwoo88/stream/tree/feature/tomap-%EC%98%88%EC%A0%9C 설명 Stream 안의 데이터를 map의 형태로 반환해주는 collector 입니다. KeyMapper는 데이터를 map의 key로 변환하는 Function을 의미합니다. valueMapper는 데이터를 map의 value로 변환하는 Function을 의미합니다. 저같은 경우 다중 for문에서 if매핑 시 자주사용하는 방식인데 첫번째 for문을 toMap으로 키/값으로 선언한 후 두번째 for문을 돌리면서 map.get(key)로 매칭시키는 로직으로짜게되면 연산을 상당히 많이 줄일 수 있습니다. collecor toMap 제공된 매핑 함수를 입력 요소에 적용한 결과 키와..
git https://github.com/ymwoo88/stream/tree/feature/reduce-%EC%98%88%EC%A0%9C 설명 Stream.reduce(accumulator) 함수는 Stream의 요소들을 하나의 데이터로 만드는 작업을 수행합니다. 예를 들어, Stream에서 1부터 10까지 숫자가 전달될 때, 이 값을 모두 합하여 55의 결과가 리턴되도록 만들 수 있습니다. 여기서 연산을 수행하는 부분은 accumulator 함수이며, 직접 구현해서 인자로 전달해야 합니다. reduce 제공된 ID 값과 연관 누적 함수를 사용하여 이 스트림의 요소에 대한 축소를 수행하고 축소된 값을 반환합니다. 이는 다음과 같습니다. T 결과 = 동일성; for (T 요소 : 이 스트림) result ..
git https://github.com/ymwoo88/stream/tree/feature/foreach-%EC%98%88%EC%A0%9C 설명 제공된 action을 Stream의 각 데이터에 적용해주는 종결 처리 메서드입니다. Java의 iterable 인터페이스에도 forEach가 있기 때문에 Stream의 중간 처리가 필요없다면 굳이 Stream을 만들어 사용할 필요는 없습니다. foreach 모든 요소가 처리되거나 작업이 예외를 throw할 때까지 Iterable의 각 요소에 대해 지정된 작업을 수행합니다. 해당 순서가 지정된 경우 작업은 반복 순서대로 수행됩니다. 작업에 의해 발생한 예외는 호출자에게 전달됩니다. 재정의 클래스가 동시 수정 정책을 지정하지 않는 한 작업이 요소의 기본 소스를 수정..
git https://github.com/ymwoo88/stream/tree/feature/distinct-%EC%98%88%EC%A0%9C 설명 distinct는 stream 데이터 중에서 중복이 제거된 stream을 반환해주는 기능을 제공합니다. distinct 이 스트림의 개별 요소(Object.equals(Object)에 따름)로 구성된 스트림을 반환합니다. 정렬된 스트림의 경우 개별 요소의 선택이 안정적입니다(중복된 요소의 경우 만나는 순서에서 처음 나타나는 요소가 보존됨). 정렬되지 않은 스트림의 경우 안정성이 보장되지 않습니다. 이것은 상태 저장 중간 작업입니다. 보고: 새로운 스트림 API 참고: 병렬 파이프라인에서 distinct()에 대한 안정성을 유지하는 것은 상대적으로 비용이 많이 ..
git https://github.com/ymwoo88/stream/tree/feature/flatMap-%EC%98%88%EC%A0%9C 설명 Stream 안에 있는 데이터 자체도 Stream일 경우 즉, Stream 안에 Stream(중첩)된 경우 이것을 하나의 Stream으로 풀어서 반환해주는 기능을 제공합니다. Map과 유사한 기능을 제공하지만 다른 부분은 Stream 형태가 된 것을 Flat이 하나의 Stream으로(Stream) 만들어 반환해준다고 생각하면 됩니다. flatMap 이 스트림의 각 요소를 제공된 매핑 함수를 각 요소에 적용하여 생성된 매핑된 스트림의 내용으로 대체한 결과로 구성된 스트림을 반환합니다. 콘텐츠가 이 스트림에 배치된 후 각 매핑된 스트림이 닫힙니다. (매핑된 스트림이..
git https://github.com/ymwoo88/stream/tree/feature/map-%EC%98%88%EC%A0%9C 설명 Stream의 map API는 stream 흐름에 있는 데이터들을 가공한 결과물을 반환해주는 기능을 제공합니다. map 주어진 함수를 이 스트림의 요소에 적용한 결과로 구성된 스트림을 반환합니다. 이것은 중간 작업입니다. 매개변수: 매퍼 – 각 요소에 적용할 비간섭, 상태 비저장 함수 보고: 새로운 스트림 Stream map(Function
git https://github.com/ymwoo88/stream/tree/feature/sorted-%EC%98%88%EC%A0%9C 설명 데이터가 순서대로 정렬된 Stream을 리턴하는 기능을 제공합니다. 데이터의 종류가 기본적으로 서로 비교할 수 없다면 어떤 식으로 비교할지를 알려주는 comparator을 인자로 제공해야 합니다. sorted Stream sorted(); Stream sorted(Comparator