Hashtable, HashMap, HashSet 공통점
4680 단어 데이터 구조
Hashtable 산 목록 은 키 - 값 에 대응 하 는 형식 으로 요 소 를 저장 하 는 무질서 한 데이터 구조 입 니 다.클래스 정의:
public class Hashtable
extends Dictionary
implements Map, Cloneable,io.Serializable
구조 함 수 는 다음 과 같다.
Hashtable(): , 11. 0.75.
Hashtable(int initalCapacity,float loadFactor): , 。
Hashtable(Map t): , 。
산 목록 (Hashtable) 의 주요 방법 은 다음 과 같 습 니 다.
object put(object key,object value):put , , , , 。
boolean containsKey(object key) boolean containvalue(object value): 。
Object remove(object key): 。
Colletion values(): , , key 。
산 목록 에 같은 요소 가 두 개 있 으 면 안 됩 니 다. 같은 요소 가 있 으 면 프로그램 은 하나의 요소 로 처리 합 니 다. Hashtable put 방법:
value==null
key hashCode , key==null,
HashMap
클래스 정의
public class HashMap
extends AbstractMap
implements Map, Cloneable, Serializable
Hashtable 은 Dictionary 에서 계승 하고 HashMap 은 AbstractMap HashMap 에서 계승 하 는 put 방법 을 볼 수 있 습 니 다.
key==null
value , null
HashMap 은 Hashtable 의 경량급 실현 (비 스 레 드 안전 실현) 입 니 다. 그들 은 모두 Map 인 터 페 이 스 를 완 성 했 습 니 다. 주요 차이 점 은 HashMap 이 빈 키 (key) 를 허용 하 는 것 입 니 다. 비 스 레 드 안전 으로 인해 효율 적 으로 Hashtable 보다 높 을 수 있 습 니 다.
가장 큰 차이 점 은 Hashtable 의 방법 은 Synchronize 입 니 다. HashMap 은 여러 스 레 드 에서 Hashtable 을 방문 할 때 자신 이 동기 화 할 필요 가 없 으 며, HashMap 은 외부 동기 화 (Collections. synchronizedMap) 를 제공 해 야 합 니 다.
Hashtable 과 HashMap 이 사용 하 는 hash / rehash 알고리즘 은 모두 비슷 하기 때문에 성능 에 큰 차이 가 없 을 것 입 니 다.
HashSet
HashSet (산열 집합) 과 산열 목록 (hashtable) 이라는 두 가지 데이터 구 조 는 기능 은 기본적으로 같 지만, 그들 이 실현 하 는 인 터 페 이 스 는 다르다. 산열 목록 은 Map (이미지) 인 터 페 이 스 를 실현 하고, 산열 집합 (HashSet) 은 set 인 터 페 이 스 를 실현 한다. 또한 산열 목록 은 선형 동기 이 고, 산열 집합 은 비 선형 동기 화 이다.
HashSet 은 Set 인 터 페 이 스 를 실 현 했 기 때문에 Collection 인 터 페 이 스 를 실 현 했 기 때문에 집합 입 니 다. add 방법 으로 요 소 를 추가 합 니 다. 해시 집합 (HashSet) 의 구조 함 수 는 다음 과 같 습 니 다.
HashSet(): 。
HashSet(collection c): collection 。
HashSet(int initialCapacity): collection 。
HashSet(int initialCapacity,float loadFactor): , 。 16, 0.75.
해시 집합 (HashSet) 의 일반적인 방법 은 다음 과 같 습 니 다.
boolean add(obj): 。 , , false.
boolean remove(obj): , , , false.
boolean isempty(): 。
해시 집합 은 교체 기 를 사용 하여 옮 겨 다 닐 수 있 으 며, 해시 집합 산 목록 과 마찬가지 로 같은 요 소 를 가 질 수 없습니다.
해시 집합 은 내부 해시 코드 를 통 해 요소 저장 주 소 를 계산 합 니 다. 이 점 은 산 목록 과 마찬가지 로 해시 집합 에는 키 가 없습니다.
해시 집합 을 사용 하여 데이터 처 리 를 하 는 것 은 링크 를 사용 하여 데이터 처 리 를 하 는 것 보다 시간 이 더 짧 아서 시스템 자원 을 절약 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.