더 많이 실패하기

코딩공부 79일차: 자바의 정석 / 자바의 정석 132~134강 / 11장 컬렉션 프레임웍 본문

자바/자바의정석

코딩공부 79일차: 자바의 정석 / 자바의 정석 132~134강 / 11장 컬렉션 프레임웍

김발자~ 2022. 10. 17. 17:57
반응형

*10장부터는 자바의정석2권

 

개발 공부 79일차

자바의 정석 기초편 강의

https://www.youtube.com/watch?v=oJlCC1DutbA&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp 

 

 

총 171개의 강의로 구성되어 있다

총 강의 시간은 80시간 정도

 

 

강의는 기초편을 기준으로 제작되어 있지만,

http://www.yes24.com/Product/Goods/24259565

 

Java의 정석 - YES24

최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아

www.yes24.com

링크로 첨부한 자바의 정석 3판으로도 무리가 없다는 댓글이 있어 그대로 진행

 

 

 

 

 


ch 11 - 46, 47 HashMap(1)

(3판 2권 기준 644쪽)

https://www.youtube.com/watch?v=oLH9Y8tD9Kw&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=132 


 

1.10 HashMap과 Hashtable - 순서x, 중복(키x, 값o)
-Map인터페이스를 구현. 데이터와 키와 값의 쌍으로 저장
-HashMap(동기화x)은 Hashtable(동기화o)의 신버전

TreeMap (=TreeSet)
-범위 검색과 정렬에 유리한 컬렉션 클래스
-HashMap보다 데이터 추가, 삭제에 시간이 더 걸린다

HashMap
-순서를 유지하려면 LinkedHashMap 클래스를 사용하면 된다
-해싱(hashing)기법으로 데이터를 저장. 데이터가 많아도 검색이 빠르다

키(key) 컬렉션 내의 키 중에서 유일해야 한다
값(value) 키와 달리 데이터의 중복을 허용한다
(아이디와 비밀번호라고 생각하면 이해가 쉽다)


해싱(hashing)
-환자 정보 관리
 72년생 환자 정보 찾기 -> 해시 함수 -> 7 (해쉬코드)
 해시 함수를 이용해서 해시 테이블에 데이터를 저장하고 검색
  *해시 테이블: 배열과 링크드 리스트가 조합된 형태(2차원 배열과 유사)

-해시테이블에 저장된 데이터를 가져오는 과정
 1 키로 해시함수를 호출해서 해시코드를 얻는다
 2 해시코드에 대응하는 링크드리스트를 배열에서 찾는다
 3 링크드리스트에서 키와 일치하는 데이터를 찾는다
  ※해시함수는 같은 키에 대해 항상 같은 해시코드를 반환해야 한다
  ※서로 다른 키일지라도 같은 값의 해시코드를 반환할 수도 있다(같은 캐비넷에 있을 수 있다)

 

 

 


ch 11 - 48~51 HashMap(2)

(3판 2권 기준 645~653쪽)

https://www.youtube.com/watch?v=u0pJGFyvrqc&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=133 



HashMap 주요 메서드
645쪽에 표로 정리

646쪽 예제 11-30
같은 키를 여러 번 입력할 경우, 마지막으로 입력한 value가 저장된다

647쪽 11-31
비교해야 최대, 최소도 가능하기 때문에 최고점수, 최저점수는 comparable을 구현해야 들어올 수 있다

650쪽 11-33
단어카운팅, 빈도수 등에 활용할 수 있다

 

 

 


ch 11 - 52~56 Collections 클래스, 컬렉션 클래스 요약

(3판 2권 기준 664~쪽)

https://www.youtube.com/watch?v=u0pJGFyvrqc&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=134 



1.13 Collections

1 컬렉션 채우기, 복사, 정렬, 검색 - fill(), copy(), sort(), binarySearch() 등

2 컬렉션의 동기화 - synchronizedXXX()
동기화된 List = Vector

3 변경불가(ReadOnly) 컬렉션 만들기 - unmodifiableXXX()

4 싱글톤 컬렉션 만들기  - singlitonXXX()
객체 1개만 저장

5 한 종류의 객체만 저장하는 컬렉션 만들기 - checkedXXX()
지네릭스와 같은 기능


666쪽 예제 11-39
import static java.util.Collections.* //Collections.addAll 등으로 써야하는 데서 Collections을 생략하게 해준다



1.14 컬렉션 클래스 정리 & 요약

(HashMap에 배열+링크드리스트라는 부분 지워짐)

 

이런 식으로 직접 그려보길 추천하셨다

 

 

 


11장 끝

헷갈리는 이름이 많아서 복습 많이 해야 할 것 같다

반응형
Comments