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 |