2011-12-19 2 views
0

이 유형은 ArrayList<HashMap<String,String>>입니다. 해당 배열 목록에 키가 있는지 확인하고 싶습니다. for 루프를 통해이 작업을 수행 할 수 있지만이 작업을 수행 할 수있는 다른 방법이 있습니까?HashMap <String, String>의 Java ArrayList에 키가 포함되어 있는지 확인하십시오.

+2

루프는 가장 쉬운 업데이트 data에서 제거/추가 할 때마다 확인하는 메소드를 추가합니다. 대안을 찾고있는 특별한 이유가 있습니까? – NPE

+0

어디에서 목록을 가져 옵니까? 그 HashMaps에는 무엇이 있습니까 (즉, 특별한 또는 기본적으로 임의의 String to String 매핑). – Stefan

답변

-3

내 마음과 작품에 가장 쉬운 방법은 HashMap 클래스를 확장하고 .equals() 메소드를 구현하는 것입니다. 어쨌든,이 방법은 내부적으로 interation을 사용합니다.

0

이러한 개별 HashMaps를 구축하는 동안 수퍼 hashmap을 빌드 할 수 있다면 for 루프가 필요하지 않습니다. 그러나 그것이 가능한지 여부를 모른다. 슈퍼 해시 맵을 조회하면됩니다.

+0

버그가 발생하기 쉽습니다. 특히 일부 요소를 제거 할 경우 특히 그렇습니다. 데이터 중복은 일반적으로 좋은 생각이 아닙니다. – toto2

1

@ Bhushan의 대답에 따라 Map의 ArrayList와 키 값의 Map을 캡슐화하는 새로운 클래스를 만듭니다. 예 :

public class EncapsulatedLookup { 
    private ArrayList<HashMap<String,String>> data; 
    private Map<String, Integer> keyToArrayListPosition lookup; 
} 

당신은 또한 lookup

관련 문제