문제

나는 straighforward 솔루션이없는 것처럼 보이는 문제에 직면하고 있습니다.

사용 중입니다 java.util.Map, 그리고 키 값 쌍의 값을 업데이트하고 싶습니다.

지금, 나는 이것을 좋아하고있다 :

private Map<String,int> table = new HashMap<String,int>();
public void update(String key, int val) {
    if( !table.containsKey(key) ) return;
    Entry<String,int> entry;
    for( entry : table.entrySet() ) {
        if( entry.getKey().equals(key) ) {
            entry.setValue(val);
            break;
        }
    }
}

그래서 필요한 것을 얻을 수있는 방법이 있습니까? Entry 전체를 반복하지 않고도 물체 Map? 아니면 항목의 값을 제자리에 업데이트 할 수있는 방법이 있습니까? 일부 방법 Map 처럼 setValue(String key, int val)?

JRH

도움이 되었습니까?

해결책

사용

table.put(key, val);

새 키/값 쌍을 추가하거나 기존 키 값을 덮어 씁니다.

Javadocs :

v put (k key, v value) : 지정된 값을이 맵에서 지정된 키와 연결합니다 (선택적 작동). 맵에 이전에 키에 대한 매핑이 포함 된 경우 이전 값은 지정된 값으로 대체됩니다. (M.ContainsKey (k)가 true를 반환하는 경우에만 맵 M은 키 K에 대한 매핑을 포함한다고합니다.)

다른 팁

키가있는 경우 table.put(key, val) 다른 값을 덮어 쓰면 새 항목이 생성됩니다. 푸프! 그리고 당신은 끝났습니다. :)

키를 사용하여 맵에서 값을 얻을 수 있습니다. table.get(key); 그것에 관한 것입니다

당신은 그냥 사용합니다 방법

public Object put(Object key, Object value)

키가 이미지도에있는 경우 이전 값이 반환됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top