스칼라 코드 (몇 시간 전부터 시작)를 읽을 필요가 있습니다. 또한 스칼라의 해시 맵이 키를 비교하는 방법을 확인해야합니다. 일부 게시물을 읽은 후 ==
은 값 비교를위한 것이지만 값 비교 (==
) 또는 참조 비교를 사용하여 해시지도 (예 : scala.collection.immutable.Map
) 키를 비교했는지 여부는 확실하지 않습니다.스칼라의 해시 맵 키 비교
1
A
답변
2
HashMap
은 ==
및 해싱 방법 ##
을 사용하여 키를 비교합니다. Map(List(1) -> 'a, List(1) -> 'b)
과 같은 것이 잘못된 두 항목을 포함하기 때문에 참조를 사용할 수 없습니다.
1
페이지의 소스 코드 (이 웹 사이트에) :
http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.HashMap
나는 간단한 테스트 케이스 (일식에 스칼라 2.9.1)를 썼다. 이클립스에서 디버깅 할 수 있습니다 - 소스 코드의 라인은 api 사이트에서와 같습니다.
class EqualsTest {
case class Key(private val value: Int) {
override def hashCode() = value
override def equals(other: Any) = other match {
case that: Key => that.value == value
case _ => false
}
}
@Test
def test() {
val map = Map(Key(1)->1,Key(2)->3,Key(4)->5,Key(5)->2,Key(9)->9)
val key = Key(1)
val value = map.get(key) //add breakpoint here
}
}
관련 문제
- 1. 해시 맵 오브젝트 키
- 2. 오브젝트에서 해시 맵 키 제거
- 3. 숫자 값 내림차순으로 해시 맵 키 정렬
- 4. 해시 멀티 맵 문제
- 5. 해시 맵
- 6. 배열의 해시 맵 재사용
- 7. 해시 맵 오버 해시 목록
- 8. C++에서 벡터의 해시 맵
- 9. 블랙 베리 해시 맵
- 10. 해시 맵 복사본
- 11. 해시 맵 크래킹 이식
- 12. 해시 맵 검색
- 13. 동시 해시 맵 사용
- 14. 자바 속성 해시 맵 읽기
- 15. 비트 맵 이미지 비교
- 16. 해시 맵 - 단일 키, 다중 값 - 검색하는 방법?
- 17. 해시 맵 키 - 값 쌍의 선택적 및 특정 인쇄
- 18. 로컬 키/값 저장소 대 기본 사전/해시 맵 객체
- 19. 비교 해시 엑셀 암호
- 20. Ruby에서 해시의 해시 비교
- 21. 해시 암호 비교
- 22. 다른 클래스의 해시 세트에서 해시 맵 채우기
- 23. XML 문자열의 해시 맵 - Android
- 24. 해시 맵 데이터를 애플리케이션에 저장하기
- 25. 값을 덮어 쓰는 해시 맵
- 26. 배열을 해시 맵 키로 사용
- 27. 해시 테이블 맵 - 값 업데이트
- 28. 클래스 키가있는 약한 해시 맵
- 29. 커스텀 공유 해시 맵 구현
- 30. 슬라이스/맵 명령 된 해시
라켓'(HS 정의 (메이크 - 불변 hasheq (리스트 (단점 (리스트 1) 1) (단점 (리스트 1) (2))))) ','아웃 제공 '을 #hasheq (((1) .1) ((1) .2))'완전히 괜찮습니다. –