Study

✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌 이 장의 내용 람다 표현식으로 코드 리팩터링하기 람다 표현식이 객체지향 설계 패턴에 미치는 영향 람다 표현식 테스팅 람다 표현식과 스트림 API 사용 코드 디버깅 이 장에서는 기존의 자바 코드를 활용하여 새로운 프로젝트를 시작하는 상황에서 람다 표현식과 스트림 API를 활용하여 가독성과 유연성을 높이는 방법에 대해 설명합니다. 이를 위해 전략, 템플릿 메서드, 옵저버, 의무 체인, 팩토리 등의 객체지향 디자인 패턴을 어떻게 간소화할 수 있는지 살펴보고, 람다 표현식과 스트림 API를 사용하는 코드를 테스트하고 디버깅하는 방법도 설명합니다. 9.1 가독성과 유연성을 개선하는 리팩터링 9..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 이 장의 내용 8.1 컬렉션 팩토리 8.1.1 리스트 팩토리 8.1.2 집합 팩토리 8.1.3 맵 팩토리 8.2 리스트와 집합 처리 8.2.1 removeIf 메서드 8.2.2 replaceAll 메서드 8.3 맵 처리 8.3.1 forEach 메서드 8.3.2 정렬 메서드 8.3.3 getOrDefault 메서드 8.3.4 계산 패턴 8.3.5 삭제 패턴 8.3.6 교체 패턴 8.3.7 합침 8.4 개선된 ConcurrentHashMap 8.4.1 리듀스와 검색 8.4.2 계수 8.4.3 집합뷰
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 이 장의 내용 7.1 병렬 스트림 병렬 스트림이란, 각각의 스레드에서 처리할 수 있도록 스트림 요소를 여러 청크로 분할한 스트림입니다. 따라서, 병렬 스트림을 이용하면 모든 멀티코어 프로세서가 각각의 청크를 처리하도록 할당할 수 있습니다. 예를 들어, 숫자 n을 인수로 1부터 n까지의 모든 숫자의 합계를 반환하는 메서드를 다음처럼 구현할 수 있습니다. public long sequentialSum(long n) { return Stream.iterate(1L, i -> i + 1) // 무한 자연수 스트림을 생성합니다. .limit(n) // n개 이하로 제한 .reduce(0L, Lon..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 이 장의 내용 6.1 컬렉터란 무엇인가? 6.1.1 고급 리듀싱 기능을 수행하는 컬렉터 6.1.2 미리 정의된 컬렉터 6.2 리듀싱과 요약 6.2.1 스트림값에서 최댓값과 최솟값 검색 6.2.2 요약 연산 6.2.3 문자열 연결 6.2.4 범용 리듀싱 요약 연산 6.3 그룹화 6.3.1 그룹화된 요소 조작 6.3.2 다수준 그룹화 6.3.3 서브그룹으로 데이터 수집 6.4 분할 6.4.1 분할의 장점 6.4.2 숫자를 소수와 비소수로 분할하기 6.5 Collector 인터페이스 6.5.1 Collector 인터페이스의 메서드 살펴보기 6.5.2 응용하기 6.6 커스텀 컬렉터를 구현해서 성..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 이 장의 내용 5.5 리듀싱 5.5.1 요소의 합 5.5.2 최댓값과 최솟값 5.6 숫자형 스트림 5.6.1 기본형 특화 스트림 5.6.2 숫자 범위 5.6.3 숫자 스트림 활용 : 피타고라스 수 5.7 스트림 만들기 5.7.1 값으로 스트림 만들기 5.7.2 null이 될 수 있는 객체로 스트림 만들기 5.7.3 배열로 스트림 만들기 5.7.4 파일로 스트림 만들기 5.7.5 함수로 무한 스트림 만들기
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 이 장의 내용 5.1 필터링 5.1.1 프레디케이트로 필터링 5.1.2 고유 요소 필터링 5.2 스트림 슬라이싱 5.2.1 프레디케이트를 이용한 슬라이싱 5.2.2 스트림 축소 5.2.3 요소 건너뛰기 5.3 매핑 5.3.1 스트림의 각 요소에 함수 적용하기 5.3.2 스트림 평면화 5.4 검색과 매칭 5.4.1 프레디케이트가 적어도 한 요소와 일치하는지 확인 5.4.2 프레디케이트가 모든 요소와 일치하는지 검사 5.4.3 요소 검색 5.4.4 첫 번째 요소 찾기
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 이 장의 내용 4.1 스트림이란 무엇인가? 4.2 스트림 시작하기 4.3 스트림과 컬렉션 4.3.1 딱 한 번만 탐색할 수 있다. 4.3.2 외부 반복과 내부 반복 4.4 스트림 연산 4.4.1 중간 연산 4.4.2 최종 연산 4.4.3 스트림 이용하기
✏️본 게시글은 자바로 배우는 핵심 자료구조와 알고리즘을 학습한 내용을 개인적으로 학습하기 위해 정리한 글입니다. 3.1 MyArrayList 메서드 분류 3.1.1 get 메서드 구현 public E get(int index) { if (index = size) { throw new IndexOutOfBoundsException(); } return array[index]; } get 메서드에 있는 모든 것은 상수 시간입니다. 따라서 get 메서드는 상수 시간입니다. 3.1.2 set 메서드의 구현 public E set(int index, E element) { E old = get(index); array[index] = element; return old; } set 메서..
2023.03.12 - [Study/Think Data Structures] - [자바로 배우는 핵심 자료구조와 알고리즘] 1장. 인터페이스 [자바로 배우는 핵심 자료구조와 알고리즘] 1장. 인터페이스 ✏️본 게시글은 자바로 배우는 핵심 자료구조와 알고리즘을 학습한 내용을 개인적으로 학습하기 위해 정리한 글입니다. 이 책은 다음 세 가지 주제를 다룹니다. 자료구조 알고리즘 분석 정보 gyunny.tistory.com ✏️본 게시글은 자바로 배우는 핵심 자료구조와 알고리즘을 학습한 내용을 개인적으로 학습하기 위해 정리한 글입니다. 프로파일링 접근법을 통해 어떤 응용 프로그램에서 어느 클래스가 더 좋을지 둘 다 시도해 보고 각각 얼마나 걸리는지 비교하면 됩니다. 대신 몇 가지 문제점이 있습니다. 알고리즘을 ..
✏️본 게시글은 자바로 배우는 핵심 자료구조와 알고리즘을 학습한 내용을 개인적으로 학습하기 위해 정리한 글입니다. 이 책은 다음 세 가지 주제를 다룹니다. 자료구조 알고리즘 분석 정보 검색 1.1 리스트가 두 종류인 이유 Java Collections Framework를 사용하다 보면 ArrayList와 LinkedList 클래스를 헷갈릴 수 있습니다. 왜 자바는 List 인터페이스에 두 가지 구현을 제공할까? 둘 중에 어떤 것을 선택해야 할까? 예제를 통해 ArrayList, LinkedList와 유사한 클래스를 구현하고, 따라서 이들의 동작 방법과 각각의 장단점을 학습할 예정입니다. 어떤 동작은 ArrayList가 빠르거나 저장 공간을 적게 사용하고 다른 상황에서는 LinkedList가 빠르거나 메모..
규니95
'Study' 카테고리의 글 목록 (3 Page)