문제
나는 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);
그것에 관한 것입니다
제휴하지 않습니다 StackOverflow