Java에서 Set 또는 Map과 같은 범용 데이터 구조를 사용하고자 할 때마다 HashSet 및 HashMap이 제공되었습니다. 이것들에 대해 더 자세히 살펴보면, 해시 테이블에 대한 정보를 읽었습니다. 그래서 키를 해당 값으로 매핑하기 위해 해시 함수를 사용한다는 것을 알았습니다.
내 질문은 : 단순한 인덱스 별 서신을 사용하지 않는 이유는 무엇입니까?
은 나 자신에 대답하려고 노력하지만 장점의 정확성의 확실하지 않다 : 어떤 계산이
+ 충돌이없는
별 해시
+ 메모리 포함되지 거기에 있기 때문에,
에 의해 인덱스
+ 빠른 왜냐하면 세 번째 배열은 키와 값을 상호 연관시켜야하기 때문이다.HashMap의 키 - 값 매핑
그러나 나는 항상 몇 개의 퍼가 몇 바이트보다 더 소중하다고 생각했다. 어쨌든, 나는 단순한 IndexMap처럼 Java DS에 그런 DS가 있다고 생각하지 않습니까? 내가 여기서 무엇을 놓치고 있니?
EDIT : I 의미로 인덱스바이
이 : 배열이 정렬 된 구조가이 인덱스를 갖는 구조로이고; 말하자면, keys []와 values []를 연관 짓는 2 개의 배열을 가지는 것은 keys [i]가 values [i]에 해당 함을 의미합니다. 따라서 관계 함수가 필요하지 않습니다. 나는 분명히 여기에 뭔가 빠졌고 무엇을보고 싶습니다.
"ThisIsMyKey"키의 인덱스는 무엇입니까? 또한 여기에는 부동 소수점이 없으므로 "플립"이 포함되지 않습니다. 당신은 _ 기본적인 데이터 구조를 재검토 할 필요가 있습니다. 귀하의 질문은 귀하가 몇 가지 기본 개념을 놓치고 있음을 나타냅니다. –
"by-index"란 무엇을 의미합니까? 리스트에 대해 말하는거야? – 2rs2ts
아마 당신이 말하는 것에 대한 어떤 링크. 아마도 해시 테이블을 트리 구조와 비교하는 것일까? –