맵 집합 을 사용자 정의 하 는 두 가지 방식

전재 출처 를 밝 혀 주 십시오:http://blog.csdn.net/droyon/article/details/9837213
우리 의 실제 작업 에서 우 리 는 맵 집합 인 터 페 이 스 를 사용자 정의 해 야 할 수도 있다. 예 를 들 어 맵 인 터 페 이 스 를 확장 하 는 방법 기능, 맵 인터페이스 가 외부 에 대한 조작 인 터 페 이 스 를 제어 하 는 등 이다.
다음은 자주 사용 하 는 두 가지 방식 을 소개 한다.
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. 조합
장점: 대외 노출 을 통제 할 수 있 는 방법
단점: 코드 의 복용 성 정도 가 비교적 낮다.
소감: 각자 의 장단 점 이 있 기 때문에 우리 가 실제 근무 환경 에서 유연 하 게 사용 해 야 한다.

좋은 웹페이지 즐겨찾기