HashMap<String, String>
에 항목 (키, 값)이 value = "x"로 포함되어 있는지 확인하고 순차적으로 모든 항목을 검색 할 수 있습니까? 이 HashMap
가 가 처음에 대한을 만든 것입니다HashMap에 선택된 값이 들어 있는지 확인하고 키를 반환하십시오
답변
...
이 가(당신은하지만, "순차적으로 모든 항목을 통과하는"무슨 뜻인지 확실하지. 단지 하나있다 키 당 항목)
편집 :. 당신이 편집 이제
질문에 대한 대답은 아니요입니다! 당신이 그 기능을해야하는 경우 :(
는, 그 클래스를 (감각을 만들어 희망)의 다른 값의 각 값의 위치를 저장하는 자신의 양방향 HashMap
을 설계 한 다음 사용한다. HashMap
들에 대한 설계되지 않았습니다 그것은 주어진 키를 누릅니다. 사용 HashMap.keySet() 또는 HashMap.entrySet() 항목 또는 값의 컬렉션을 retreive 그 위에 순차적으로 반복하는이 포함 된 경우이.
사용 HashMap.containsKey는() 알고 있습니다.
일반적인 패턴을 사용합니다.
if(hashMap.containsKey(key)) {
Object o = hashMap.get(key);
}
그러나 null
값이 없음을 알고있는 경우 (많은 맵 콜렉션이 널을 허용하지 않음)보다 효율적으로 다음을 수행 할 수 있습니다.
Object o = hashMap.get(key);
if (o != null) {
}
은 BTW : containsKey는
Set<Key> keys = hashMap.keySet();
boolean containsKey = keys.contains(key);
Er ...'HashMap'에'contains'? 그 중 하나가 새로운 것입니다 ... – Mehrdad
@Mehrdad, 당신이 맞아요, 그 containsKey, 세트와 혼동. ;) –
과 동일하지만, 비효율적 :
Object key;
Object val;
HashMap hm = new HashMap();
for (Iterator iter = hm.entrySet().iterator(); iter.hasNext();) {
Map.Entry e = (Map.Entry) iter.next();
if (key.equals(e.getKey()) && val.equals(e.getValue())) {
// do something
}
}
의 일부에서 제안으로 다른 해답을 찾으려면 해결하려는 문제에 대해 더 나은 데이터 구조를 고려해야합니다.
당신은 구글의 구아바 라이브러리의 하나로서, 양방향 맵을 사용하여 고려하실 수 있습니다 모든 값을 통해이 단지 내부적으로 반복 http://guava-libraries.googlecode.com/svn/trunk/javadoc/index.html?com/google/common/collect/BiMap.html
에서, containsValue()
방법이 있지만, 일반적인 구현을하고 그들을 비교 매개 변수.
- 1. CheckBoxList에 선택된 값이 있는지 확인합니다.
- 2. RadioButtonList에 선택된 값이 있는지 확인하는 가장 좋은 방법은 무엇입니까?
- 3. 속성/필드에 어떤 값이 들어 있는지 알 수있는 방법이 있습니까?
- 4. 배열에 예를 들어 3 개의 값이 있는지 검사
- 5. sqlite 테이블에 기본 키가 있는지 확인하고 싶습니다
- 6. Elisp 목록에 값이 들어 있습니다.
- 7. JS - 배열 위치는 단어가 포함되어 있는지 확인하고
- 8. ArrayList에 값이 있는지 확인
- 9. 자바에 값이 있는지 확인하기
- 10. NSMutableArray에 다른 배열의 값이 포함되어 있는지 확인
- 11. datetimepicker에 값이 입력되어 있는지 확인 하시겠습니까?
- 12. 웹 페이지가 있는지 확인하고 vb.net에 문자열이 있는지 확인하십시오.
- 13. AJAX 응답이 비어 있는지 확인하고 다른 문제가 있는지 확인하십시오.
- 14. 값이 mysql 테이블의 열에 있는지 확인하십시오.
- 15. 내 애플리케이션에 관리자 권한이 있는지 확인하고 싶으십니까?
- 16. 디렉토리가 있는지 확인하고 하나의 명령에서 삭제 unix
- 17. Magento - 모듈이 설치되어 있는지 확인하고 있습니까?
- 18. 문자열에 문자가 포함되어 있는지 확인하고 취소하십시오.
- 19. 배열에 둘 이상의 값이 있는지 확인하십시오.
- 20. ResourceManager.GetString()을 호출하지 않고 ResourceManager에 키가 들어 있는지 확인하고 예외를 catch하는 방법은 무엇입니까?
- 21. 깊은 배열 값이 있는지 확인하는 방법
- 22. 컨트롤의 선택된 값이 설정된 후 Javascript가 실행됩니다.
- 23. DataGrid의 WPF ComboBox에 선택된 값이 표시되지 않습니다.
- 24. Malloc'ed 문자열에 쓰레기 값이 들어 있습니다.
- 25. C++ 포인터 - 여기에 어떤 값이 들어 있습니까?
- 26. 값이 다중 선택 목록에 있는지 확인하는 가장 좋은 방법은 무엇입니까?
- 27. HashMap에 개체 캐스팅
- 28. HashMap에 문자열 키가 없습니다.
- 29. HashMap에 값 추가
- 30. HashMap에 enum 값 삽입하기
먼저지도 인터페이스를 살펴보십시오. –
질문을 반대로 바꾸면 수정 된 질문이나 기존 답변이 모두 이상하게 보일 것입니다. –
[가능한 중복 : 주어진 상세한 설명] [1] [1] : http://stackoverflow.com/questions/1383797/java-hashmap-how-to-get-key-from-value – cryptickp