자바/자바의정석

코딩공부 73일차: 자바의 정석 / 자바의 정석 125, 126강 / 11장 컬렉션 프레임웍

김발자~ 2022. 10. 11. 23:16
반응형

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

 

개발 공부 73일차

자바의 정석 기초편 강의

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 - 22~24 Iterator, Enumeration, Map과 Iterator

(3판 2권 기준 614~623쪽)

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


 

1.5 Iterator, ListIterator, Enumeration
-컬렉션에 저장된 데이터를 접근하는데 사용되는 인터페이스
-Enumeration은 Iiterator의 구버전
-ListIterator는 Iterator의 접근성을 향상시킨 것 (단방향 → 양방향)

 

Iterator 메서드

메서드 설명
boolean hasNext() 읽어 올 요소가 남아있는지 확인
있으면 true, 없으면 false 반환
Object next() 다음 요소를 읽어온다
호출 전 hasNext()를 호출해서 읽어 올 요소가 있는지 확인하는 것이 안전

*1 확인 2 읽기

 

-컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것
-컬렉션에 iterator()를 호출해서 Iterator를 구현한 객체를 얻어서 사용

Collection c = new ArrayList();    // 다른 컬렉션으로 변경 시 이 부분만 고치면 된다
Iterator it = c.iterator();

while(it.hasNext()){
}

*iterator는 1회용이라 다 쓰고 나면 다시 객체 생성해야 함


Map과 Iterator
-Map에는 iterator()가 없다 → ketSet(), entrySet(), values()를 호출해야 한다

Map map = nwe HashMap();
..
Iterator it = map.entrySet().iterator();

 

 

 


ch 11 - 25~29 Arrays

(3판 2권 기준 624~627쪽)

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



1.6 Arrays

-배열을 다루기 편리한 메서드(static) 제공

1. 배열의 출력 - toString()
2. 배열의 복사 - copyOf(), copyOfRange()
3. 배열 채우기 - fill(), setAll()
4. 배열의 정렬과 검색 - sort(), binarySearch() - 정렬된 배열에만 가능

※ 순차 검색과 이진 검색(이분 검색)
순차 검색: 순서대로 찾기
이진 검색: 반씩 잘라서 조건에 맞는 반쪽들만 비교

5. 다차원 배열의 출력 - deepToString()
6. 다차원 배열의 비교 - deepEquals()
7. 배열을 List로 변환 - asList(Object...a)
8. 람다와 스트림(14장) 관련 - parallelXXX(0, spliterator(), stream()

예제 626, 627쪽 11-18
*향상된 for문
for (int i : arr7)
= for(int x = 0; x < arr7.length; x++){
   int i = arr7[x];
 }

 

 


 

반응형