맵 의 모든 요 소 를 어떻게 옮 겨 다 닙 니까?

1872 단어 Java
방법 1:entry Set 방법 사용:예시:
public static void main(String[] args) {
        Map param = new HashMap<>(8);
        param.put("1","A");
        param.put("2","B");
        param.put("3","C");
        param.put("4","D");
        param.put("5","E");
        for (Map.Entry p : param.entrySet()) {
            System.out.println("[ key=" + p.getKey() + " , " + p.getValue() + " ]");
        }
    }

결과:[key=1,A][key=2,B][key=3,C][key=4,D][key=5,E]
방법 2:자바 8 에서 맵 을 추가 하 는 방법 을 사용 합 니 다.foreach 예제:
public static void main(String[] args) {
        Map param = new HashMap<>(8);
        param.put("1","A");
        param.put("2","B");
        param.put("3","C");
        param.put("4","D");
        param.put("5","E");
        param.forEach((key,value) -> System.out.println("[ key=" + key + " , " + value + " ]"));
    }

결과:[key=1,A][key=2,B][key=3,C][key=4,D][key=5,E]사실 map 에 추 가 된 방법 은 foreach 바 텀 실현 과 사용 방법 1 의 방법 이 일치 합 니 다.소스 코드 설명:
//map       ,    map      
default void forEach(BiConsumer super K, ? super V> action) {
		//     null
        Objects.requireNonNull(action);
        for (Map.Entry entry : entrySet()) {
            K k;
            V v;
            try {
            	//  key-value
                k = entry.getKey();
                v = entry.getValue();
            } catch(IllegalStateException ise) {
                throw new ConcurrentModificationException(ise);
            }
            //  
            action.accept(k, v);
        }
    }

좋은 웹페이지 즐겨찾기