❗ 본 포스팅은 타이핑 공부법으로 작성하였습니다. 그렇기에 부족한 점이 존재할 수 있습니다.
8.1 컬렉션 팩토리
- 자바8에서는 List, Set, Map의 컬렉션 팩토리 메소드를 제공한다. (ex. (collection.of))
- 팩토리 메서드의 인자는 가변인자가 아니며 개수를 늘리거나 하지 못한다.
8.2 리스트와 집합 처리
- List에서 인자로 Predicate를 받고 만약 해당 Predicate가 true일 경우 해당하는 원소를 삭제하는 메소드가 존재한다.(removeIf)
- List에서 인자를 다른 값으로 교체하는 메소드가 존재한다. 다만 특정 요소에 대해서만 교체할 수는 없다.(replaceAll)
8.3 맵 처리
- forEach 메소드를 통해 키와 값 모두 한번에 받아 처리할 수 있다.
- sort를 통해 정렬할 수 있다.
- getOfDefault 메소드로 만약 존재하지 않는 키일 경우 특정 값을 반환하도록 할 수 있다.(이때 null도 반환이 가능하다.)
- value에 대해 원하는 상황에 맞게 원하는 연산을 할 수 있다.(computeIfAbsent, computeIfPresent, compute)
- map.remove에서 인자로 키하나만 줄 수도 있고 키와 벨류 모두 줄수도 있다. 이때 키 하나만 이용해서 삭제할 경우 키가 존재하지 않는다면 null을 반환하고 키와 벨류 모두 있을경우 boolean형식으로 반환된다.
- 두개의 map을 합칠수 있으며 만약 중복된 원소가 있을경우 이를 어떻게 처리할지를 merge 메소드로 정해줄 수 있다.
- 병렬로 연산해도 괜찮은 ConcurrentHashMap이 있다. 이때 이 map에 있는 원소끼리는 관련이 없어야 한다.
'책 > 모던 자바 인 액션' 카테고리의 다른 글
10장 람다를 이용한 도메인 전용 언어 (0) | 2024.06.18 |
---|---|
9장 리팩터링, 테스팅, 디버깅 (0) | 2024.06.17 |
7장 병렬 데이터 처리와 성능 (0) | 2024.06.11 |
6장 스트림으로 데이터 수집 (0) | 2024.06.09 |
5장 스트림 활용 (0) | 2024.06.07 |