Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 뇌출혈
- javascript
- 급성심근경색증
- 보험
- 중도인출
- 납입
- Java
- 수수료
- 특약
- 교보생명
- 웹개발
- 리스트
- 사망
- 인출수수료
- 파이썬
- 프로그래밍
- 가입
- PythonProgramming
- 교보
- 심장질환
- 보험료
- 변환
- 문자열
- 자바스크립트
- 코딩
- 프론트엔드
- Vue.js
- 추가납입
- python
- jQuery
Archives
- Today
- Total
SeouliteLab
[Java/자바] 두 개의 Map 합치기 (merge, putAll) 본문
Map의 합치기란?
Java의 Map은 키-값 쌍을 저장하는 자료구조로, 두 개의 Map을 합쳐서 하나의 Map으로 만들 수 있습니다. 이를 통해 두 Map의 내용을 통합하거나 결합할 수 있습니다. Map을 합치는 데에는 주로 merge()와 putAll() 메서드가 사용됩니다.
merge() 메서드
merge() 메서드는 지정된 키와 연관된 값이 없거나 null인 경우에만 주어진 값으로 매핑합니다. 그렇지 않으면 주어진 remapping 함수를 사용하여 기존 값과 새 값을 결합합니다.
V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
- key: 값이 병합될 키
- value: 키에 매핑될 값
- remappingFunction: 기존 값과 새 값이 충돌하는 경우 새 값을 생성하는 함수
putAll() 메서드
putAll() 메서드는 지정된 Map의 모든 키-값 매핑을 현재 Map에 추가합니다.
void putAll(Map<? extends K, ? extends V> m)
- m: 현재 Map에 추가할 매핑을 포함하는 Map
두 개의 Map 합치기 예제
아래는 두 개의 Map을 합치는 예제 코드입니다.
import java.util.HashMap;
import java.util.Map;
public class MergeMapsExample {
public static void main(String[] args) {
// 첫 번째 Map
Map<Integer, String> map1 = new HashMap<>();
map1.put(1, "one");
map1.put(2, "two");
// 두 번째 Map
Map<Integer, String> map2 = new HashMap<>();
map2.put(3, "three");
map2.put(4, "four");
// merge() 메서드를 사용하여 두 Map 합치기
map2.forEach((key, value) -> map1.merge(key, value, (v1, v2) -> v1 + ", " + v2));
// putAll() 메서드를 사용하여 두 Map 합치기
Map<Integer, String> mergedMap = new HashMap<>(map1);
mergedMap.putAll(map2);
System.out.println("Merged Map with merge(): " + map1);
System.out.println("Merged Map with putAll(): " + mergedMap);
}
}
추가 예제:
아래는 두 Map을 합치는 다양한 상황을 다루는 예제 코드입니다.
import java.util.HashMap;
import java.util.Map;
public class MoreMergeExamples {
public static void main(String[] args) {
// 예제 1: merge() 메서드를 사용하여 중복된 키의 값 병합
Map<Integer, String> map1 = new HashMap<>();
map1.put(1, "one");
map1.put(2, "two");
Map<Integer, String> map2 = new HashMap<>();
map2.put(2, "deux");
map2.put(3, "three");
map2.forEach((key, value) -> map1.merge(key, value, (v1, v2) -> v1 + ", " + v2));
System.out.println("Merged Map: " + map1);
// 예제 2: put
All() 메서드를 사용하여 두 Map 합치기
Map<Integer, String> map3 = new HashMap<>(map1);
map3.putAll(map2);
System.out.println("Merged Map with putAll(): " + map3);
}
}
'프로그래밍' 카테고리의 다른 글
[Java/자바] JUnit - @After와 @AfterClass의 차이점 (0) | 2024.03.09 |
---|---|
[Java/자바] ConcurrentModificationException 발생 및 해결 방법 (0) | 2024.03.09 |
[Java/자바] Stream의 flatMap() 메서드 사용 방법 (0) | 2024.03.09 |
[Java/자바] Stream의 map() 메서드 사용 방법 (0) | 2024.03.09 |
[Java/자바]- Stream의 filter() 메서드 사용 방법과 예제 (0) | 2024.03.09 |