반응형
📌 오전 수업 내용 요약
1. TreeSet과 정렬 관련 메서드
- TreeSet은 자동으로 오름차순 정렬됨.
- 주요 메서드:
- first(), last(): 최소/최댓값
- lower(E e), higher(E e): 특정 값보다 작거나 큰 값
- floor(E e), ceiling(E e): 특정 값과 같거나 가장 가까운 값
- descendingSet(): 내림차순으로 정렬된 NavigableSet 반환
- tailSet(), subSet(): 특정 범위 필터링 가능
2. TreeMap과 정렬 관련 메서드
- TreeMap도 자동 정렬됨 (Key 기준).
- 주요 메서드:
- firstEntry(), lastEntry(): 가장 앞/뒤 Entry
- lowerEntry(K key): 특정 Key보다 바로 앞 Entry
- descendingMap(): 내림차순 Map
- subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive): 범위 검색
3. Comparable과 Comparator 사용
- Comparable<T>: 기본 정렬 기준 정의
- 예: Parson 클래스는 나이 기준 정렬
- Comparator<T>: 외부 정렬 기준 제공
- 예: FruitComparator는 가격 기준 정렬
4. Stack 클래스
- LIFO(Last-In-First-Out) 구조
- push()로 추가, pop()으로 제거
- 예시: 동전 넣고 하나씩 꺼내기
📌 오후 수업 내용 요약
1. Queue 인터페이스 (FIFO 구조)
- LinkedList로 구현
- offer(), poll()을 사용해 순차 처리
- 메시지 전송 시나리오 예제 (메일, SMS, 카카오톡)
2. 동기화된 Map 생성
- Collections.synchronizedMap() 사용
- HashMap을 쓰레드 안전하게 만들기
- 멀티스레드 환경에서 동시에 put 처리
3. 불변 컬렉션 (Immutable Collections)
- List.of(), Set.of(), Map.of() → 불변 컬렉션 생성
- List.copyOf(), Set.copyOf(), Map.copyOf() → 기존 컬렉션 기반 생성
- Arrays.asList() → 크기 고정 리스트 생성
💡 포인트 정리
- TreeSet과 TreeMap은 자동 정렬이 특징이며, 다양한 범위 검색 메서드를 제공한다.
- 정렬 기준을 바꾸려면 Comparable 또는 Comparator를 활용한다.
- Stack은 후입선출, Queue는 선입선출 구조다.
- 멀티스레드 환경에서는 synchronizedMap()으로 안전하게 데이터를 처리할 수 있다.
- 불변 컬렉션은 데이터 보호와 병렬 처리에 유리하다.
📌 정리하자면, 26일차 수업은 정렬 기반 컬렉션의 활용과 함께 스택/큐의 자료구조, 동기화된 컬렉션 사용법, 그리고 불변 컬렉션 생성까지 다양한 컬렉션 구조와 멀티스레드 환경에서의 안전한 자료 처리 방식에 대해 학습한 날이었습니다.
'국비' 카테고리의 다른 글
[ 29일차 169~180 ] 수업 정리 - 자바 (0) | 2025.05.26 |
---|---|
[ 28일차 161~168 ] 수업 정리 - 자바 (1) | 2025.05.23 |
[ 27일차 153~160 ] 수업 정리 - 자바 (0) | 2025.05.22 |
[ 25일차 137~144 ] 수업 정리 - 자바 (1) | 2025.05.20 |
[ 24일차 129~136 ] 수업 정리 - 자바 (1) | 2025.05.19 |
[ 23일차 ] 수업 정리 - 시험 (0) | 2025.05.16 |