나는 아래와 같은 keySet()
방법으로 HashMap
을 통해 루프를 시도하고있다 :키 집합 필드가 null
for (String key : bundle.keySet()) {
String value = bundle.get(key);
...
}
내가 많이 사용에 대한-각 내 코드의 다른 부분에서 HashMaps을에 루프하지만, 이 이상한 행동으로 : 크기가 7 (정상적인)이지만 keySet
, entrySet
및 values
은 null
(Eclipse 디버거에 따라)입니다!
은 "번들"변수는 인스턴스화 (원래 아무것도 ...) 다음 없기 때문에 채워집니다 : 당신이 keySet
, entrySet
및 values
무엇을
Map <String, String> privVar;
Constructor(){
privVar = new HashMap<String, String>();
}
public void add(String key, String value) {
this.privVar.put(key, value);
}
HashMaps에서 for-each 루프를 많이 수행하는 경우 구조 변경이 필요할 수 있습니다. – Macarse
@Macarse에 동의합니다. 또한 : * Map *을 반복하고 키와 값이 필요하다면 각 키에 대한 불필요한 검색을 피하기 위해 'entrySet()'을 반복하는 것이 훨씬 낫습니다. –
당신의 제안에 감사드립니다. 요아킴, 나는 그렇게 할 것입니다. @Macarse : 새로운 스프레드 시트를 만들기 전에 구문 분석 규칙 집합 (regExp 검사)을 적용하기 위해 파일 (Excel 스프레드 시트)에서 추출한 값을 내지도 키 값 쌍에 넣습니다. 지도를 저장하는 것이 좋지 않다고 생각하십니까? –