본문 바로가기
공부/JAVA

1020 금요일

by 예림220 2023. 10. 20.

1. TreeSet은 범위 검색과 정렬에 유리하다.

HashSet과 코드 비교를 통해 다른 점 직접 알게 됨. (HashSet은 따로 정렬이 필요함) 

 

2. 책[ 첫 코딩 ]

내가 설명할 수 있는 것 

비트 / 코드 / 바이트 / 아스키 / 유니코드 / 컴파일러 / 인코딩 / 디코딩 / 어셈블리어 / 스키립트 언어 / 마크업 언어  

 

3. HashMap

Map은 키와 밸류를 갖는다.

- 순서를 유지하려면 LinkedHashMap을 이용하면 된다. 

 

HashMap의 key 와 value

- 해싱기법으로 데이터를 저장, 데이터가 많아도 검색이 빠르다 (TreeMap의 경우 이진탐색으로 데이터 저장, 검색이 오래 걸림/ 대신 순서대로(정렬로) 저장함)

- 해시테이블에 저장된 데이터를 가져오는 과정 

1) 키로 해시함수 호출 > 해시코드 (배열의 index)를 얻는다 

2) 해시코드에 대응하는 링크드리스트를 배열에서 찾는다

3) 링크드 리스트에서 키와 일치하는 데이터를 찾는다. 

 

(예시) 환자정보찾기 (자바의정석 강의를 보고, 내 언어로 정리하기) 

간호사가 환자(72****-*******)의 정보를 찾으려고 한다.

여기서 72****-*******는 해시함수로 > 해시코드 7 번을 얻는다 ( 예: 해시 테이블 1번부터 9번까지 있고 저 해시함수에 맞는 해시코드가 7번이라고 가정함) 

해시코드 7번에서 일치하는 링크드 리스트를 찾는다 (71****-******* (X) > 다음 > 72****-*******(찾았음) 

키와 일치하는 데이터 반환한다. 

 

 

 

'공부 > JAVA' 카테고리의 다른 글

231024 자바의정석 (애너테이션 타입 정의, 요소)  (0) 2023.10.24
1023 공부  (0) 2023.10.23
0710 집에서 공부하기  (0) 2023.07.10
버블정렬  (6) 2023.06.25
(참조변수와 null)  (0) 2023.06.25