수강한 강의
Chapter 04 자료구조 (배열)
- 꼭 알아둬야 할 자료 구조: 배열 (Array)
Chapter 05 자료구조 (큐)
- 꼭 알아둬야 할 자료 구조: 큐 (Queue)
학습 후기
1. 배열
같은 종류의 데이터를 순차적으로 저장하는 자료구조
장점: 빠르게 인덱스 번호로 접근
단점: 길이가 미리 정해져 있다 - List 말고 String[] 과 같은 배열
- Primitive 자료형과 Wrapper 클래스
Wrapper 클래스를 사용한다. 이유는 null 처리 용이, ArrayList등 객체만을 핸들링 하는 기능을 사용하기 위해
ArrayList 클래스는 가변 길이의 배열 자료구조를 다룰 수 있다.
- List와 ArrayList 차이점
List 인터페이스, ArrayList는 클래스
List 인터페이스는 다른 리스트 클래스를 쓸 수 있어 구현상에 유연성을 제공하지만
강의에서는 인터페이스로 선언된 변수에 다양한 리스트 클래스를 쓸 일이 없으므로 동일한 클래스로 선언하기로 한다.
JDK 1.7 이상부터 인스턴스 생성시 타입을 추정할 수 있는 경우 타입 생략이 가능하지만 가능한 JDK의 제한을 받지 않기 위해 강의에서는 항상 선언한다.
ArrayList<String> arrayList = new ArrayList<String>(); // 타입 명시 ArrayList<String> arrayList = new ArrayList<>(); // JDK 1.7이상 생략 가능
2. 큐
줄을 서는 행위와 유사, First-In, First-Out(FIFO), Last-In, Last-Out(LILO)
- 알아둘 용어
Enqueue: 큐에 데이터를 넣는 기능, add(), offer()
Dequeue: 큐에서 데이터를 꺼내는 기능, poll(), remove()
메소드 | 기능 | Returns |
add(e) | 추가 | true / 예외처리 |
offer(e) | 추가 | true / false |
remove() | 제거 | 삭제된 값 / 예외처리 |
remove(e) | 제거 | true / false |
poll() | 제거 | 삭제된 값 / 없으면 null |
element() | 확인 | head 값 / 예외처리 |
peak() | 확인 | head 값 / 없으면 null |
intellij에서 메소드 위에서 Ctrl + Q 를 눌러 Document를 보면 자세히 나와있다.
이번 강의에서 ArrayList 클래스를 활용해 Queue를 구현하는 프로그래밍 연습문제가 있었다.
힌트에 따라 구현해보니 쉽게 구현할 수 있었다. 큐의 메소드를 상세히 알아보고 직접 구현해보는 유익한 강의였다.
직접 만든 CustomQueue는 Github에서 확인하면 된다.
수강 인증샷
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'공부 > 패스트 캠퍼스 챌린지' 카테고리의 다른 글
코딩테스트 - 패스트캠퍼스 챌린지 06일차 (0) | 2022.01.29 |
---|---|
코딩테스트 - 패스트캠퍼스 챌린지 05일차 (0) | 2022.01.28 |
코딩테스트 - 패스트캠퍼스 챌린지 04일차 (0) | 2022.01.27 |
코딩테스트 - 패스트캠퍼스 챌린지 02일차 (0) | 2022.01.25 |
코딩테스트 - 패스트캠퍼스 챌린지 01일차 (0) | 2022.01.24 |