he_6_.log
로그인
he_6_.log
로그인
Java - HashMap
성장을 위해 잦은 이직도 감수하는 개발자
·
2022년 12월 5일
팔로우
0
Java
0
Java 정리
목록 보기
52/59
HashMap과 Hashtable
순서 없음, 키는 중복될수 없음, 값은 중복될수 있음
Map인터페이스를 구현, 데이터를 키와 값의 쌍으로 저장한다.
HashMap은 동기화가 되어있지 않음(최신), Hashtable은 동기화가 되어 있음(구버전)
HashMap
Map 인터페이스를 구현한 대표적인 컬렉션 클래스이다.
순서를 유지할 수 없다. 만약 순서를 유지할 필요가 있다면 LinkedHashMap클래스를 사용하면 된다.
해싱기법으로 데이터를 저장 합니다. 해싱기법의 사용으로 데이터가 많아도 검색이 빠릅니다.
put() 메서드로 기존에 저장되어 있는 똑같은 키로 다른 값이 들어오면 에러가 발생하는것이 아니고 기존에 저장되어 있는 값이 새로운 값으로 저장된다.
TreeMap
범위 검색과 정렬에 유리한 컬렉션 클래스이다.
HashMap보다 데이터 추가, 삭제에 시간이 더 걸린다.
TreeMap을 가지고 TreeSet을 만들었기 때문에 같은 특성을 가지고 있습니다.
해싱 (hasing)
해시함수로 해시테이블에 데이터를 저장하고 검색하는 방법을 말합니다
해시테이블은 배열의 장점인 접근상과 링크드 리스트의 장점인 변경에 유리한것을 조합한 형태
Objects.hash() 메서드를 이용하면 된다.
해시테이블에 저장된 데이터를 가져오는 과정은
키로 해시함수를 호출해서 해시코드(배열의 index)를 얻어 옵니다.
해시코드에 대응하는 링크드리스트를 배열에서 찾습니다.
링크드리스트에서 키와 일치하는 데이터를 찾습니다.
해시함수는 같은 키에 대해 항상 같은 해시코드를 반환해야 합니다. 서로 다른 키일지라도 같은 값의 해시코드를 반환할 수도 있습니다.
성장을 위해 잦은 이직도 감수하는 개발자
독학 개발자 입니다. 성장을 위해서 최선을 다하고 있습니다.
팔로우
이전 포스트
Java - TreeSet
다음 포스트
Java - 지네릭스(Generics), 타입 변수
0개의 댓글
댓글 작성