맵 집합 을 사용자 정의 하 는 두 가지 방식
우리 의 실제 작업 에서 우 리 는 맵 집합 인 터 페 이 스 를 사용자 정의 해 야 할 수도 있다. 예 를 들 어 맵 인 터 페 이 스 를 확장 하 는 방법 기능, 맵 인터페이스 가 외부 에 대한 조작 인 터 페 이 스 를 제어 하 는 등 이다.
다음은 자주 사용 하 는 두 가지 방식 을 소개 한다.
1. 상속
private class MultiMap<K,V> extends HashMap<K, ArrayList<V>> {
public void put(K mimeType, V info) {
ArrayList<V> data = get(mimeType);
if (data == null) {
data = new ArrayList<V>();
put(mimeType, data);
}
data.add(info);
}
}
장점: 부모 클래스 HashMap 의 속성 과 방법 을 계승 하여 부모 클래스 의 기능 을 유연 하 게 확장 할 수 있 습 니 다 (방식: 복사)
단점: 너무 많은 방법 을 드 러 냈 기 때문에 우 리 는 필요 하지 않 을 수도 있다.
2. 조합
장점: 대외 노출 을 통제 할 수 있 는 방법
단점: 코드 의 복용 성 정도 가 비교적 낮다.
소감: 각자 의 장단 점 이 있 기 때문에 우리 가 실제 근무 환경 에서 유연 하 게 사용 해 야 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[프로그래머스 / 완전 탐색] 메뉴 리뉴얼 (c++)문제와 제한 사항이 조금 복잡해서 직접 읽는 것이 더 편할 것이다 이번 문제 역시 직접 값들을 하나하나 찾아야 한다. 문제 해결을 2파트로 나눌 수 있다. 1. orders 배열에 있는 각 주문들이 만들 수 있는 조...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.