상세 컨텐츠

본문 제목

[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 19회차 미션 - 자바인강

Fast Campus[패스트캠퍼스 후강후기]

by 매일매일 배우는 개발자 2021. 4. 23. 21:24

본문

728x90

수강한 클립명

  • List 인터페이스
  • Stack과 Queue 구현하기
  • Set 인터페이스 - 1
  • Set 인터페이스 - 2

 

List 인터페이스Stack과 Queue 구현하기

 

 

https://coupa.ng/bXNcIo

 

뉴트리디데이 몽모랑시 타트체리 농축액 100

COUPANG

www.coupang.com

 

 

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


코딩 비전공자라 학원에서 자바(코딩수업)수업을 수료했지만 실력부족을 느껴 기초부터 다시 해보자라는 생각과 웹개발의 전체적인 방법을 알아보고 싶어 주위에서 괜찮다고 했던 패스트캠퍼스 java/spring 웹 개발 마스터 를 수강하게 되었다.

 

완강을 하여 나만의 웹페이지를 만들고 이 미션수행을 통과해 환급을 받는게 올해 목표이다.

 

미션 일정

  • 미션 기간 : 2/15 (월) ~ 5/15(토)

방법

  • 3클립 이상의 강의영상 수강하기
  • 수강 인증샷과 함께 1000자 이상의 학습 기록을 블로그에 작성하기
  • 미션 페이지에 미션 기록하기

 

 

 


List 인터페이스

Collection 하위 인터페이스
객체를 순서에 따라저장하고 고나리하는데 필요한 메서드가 선언된 인터페이스
배열의 기능을 구현하기 위한 메서드가 선언됨
ArrayList, Vector, LinkedList

--


ArrayList와 Vector

객체 배열 클래스

Vector는 자바 2부터 제공된 클래스 
일반적으로는 ArrayList를 더 많이 사용 (Vector보단 ArrayList가 더 최근에 나옴)

Vector는 멀티 쓰레드 프로그램에서 동기화를 지원
동기화(synchronization)란 : 두 개의 쓰레드가 동시에 하나의 리소스에 접근 할 때
순서를 맞추어서 데이터의 오류가 방지하지 않도록 함

capacity와 size는 다른 의미임
capacity > 처음에 10개짜리 배열을 만들면 ArrayList의 경우 배열을 뻥튀기 시킨다 (다른 메모리를 가져와 배열의 용량을 넓힌다)
size > 10개짜리 배열을 만들었다고 해도 안에 있는 요소가 몇개가 있는지, 그게 size이다

--


ArrayList와 LinkedList

둘다 자료의 순차적 구조를 구현한 클래스
ArrayList는 배열을 구현한 클래스로 논리적 순서와 믈리적 순서가 동일 함
LinkedList는 논리적으로 순차적인 구조지만, 물리적으로는 순차적이지 않을 수 있음

LinkedList구조 (사진 참조)
LinkedList에서 자료의 추가와 삭제 (사진참조)

 

 

 

Stack과 Queue 구현하기


Stack 구현하기 (자바에서 이미 구현되어 있다.)


Last In First Out (LIFO) : 맨 마지막에 추가 된 요소가 가장 먼저 꺼내지는 자료구조
이미 구현된 클래스가 제공 됨
ArrayList나 LinkedList로 구현 할 수 있음
게임에서 무르기, 최근 자료 가져오기 등에 구현
<그림 - 사진참조>


--


Queue  구현하기
First In First Out(FIFO) : 먼저 저장된 자료가 먼저 꺼내지는 자료구조
선착순, 대기열등을 구현할 때 가장 많이 사용되는 자료구조
ArrayList나 LinkedList로 구현 할 수 있음
<그림 - 사진참조>

>일반적으로 많이 쓰는 자료구조 중에 하나

 

Set 인터페이스 - 1

Set인터페이스는 내부적으로 순서대로 저장되는게 아니다(중복도 허용하지않음). 그래서 꺼낼때 몇번째꺼를 꺼낼수 없기때문에
iterator 객체를 이용해서 사용할수 있다.
ex)아이디,학번,주민번호등 중복 허용 안하는것에 사용하면 좋음


* Iterator로 순회하기


Collection의 개체를 순회하는 인터페이스
iterator()메서드 호출
Iterator ir - memberArrayList.iterator();

Iterator에 선언된 메서드

메서드  설명
boolean hasNext() 이후에 요소가 더 있는지를 체크하는 메서드이며, 요소가 있다면 true를 반환합니다
E next() 다음에 있는 요소를 반환합니다.

--

Set 인터페이스 (정리)
Collection 하위의 인터페이스
중복을 허용하지 않음
List는 순서기반의 인터페이스지만, Set은 순서가 없음
get(i) 메서드가 제공되지 않음 (Iterator로 순회)
저장된 순서와 출력순서는 다를 수 있음
아이디,주민번호,사번등 유일한 값이나 객체를 관리할 때 사용
HashSet,TreeSet클래스


--
TreeSet클래스
Tree가 붙으면 정렬을 위해서 사용것이고 내부적으로 바이너리 서치트리를 씀
객체의 정렬에 사용되는 클래스
중복을 허용하지 않으면서 오름차순이나 내림차순으로 객체를 정렬 함
내부적으로 이진 검색 트리(binary search tree)로 구현되어 있음
이진 검색 트리에 자료가 저장 될 때 비교하여 저장 될 위치를 정함
객체 비교를 위해 Comparable이나 comparator 인터페이스를 구현 해야 함

 

 

 

 

Set 인터페이스 - 2


TreeSet 클래스

객체의 정렬에 사용되는 클래스
중복을 허용하지 않으면서 오름차순이나 내림차순으로 객체를 정렬 함
내부적으로 이진 검색 트리(binary search tree)로 구현되어 있음
이진 검색 트리에 자료가 저장 될 때 비교하여 저장될 위치를 정함
객체 비교를 위해 Comparable이나 Comparator 인터페이스를 구현 해야 함

--


Comparable 인터페이스와 Comparator 인터페이스

정렬 대상이 되는 클래스가 구현해야 하는 인터페이스

Comparable은 compareTo() 메서드를 구현
매개 변수와 객체 자신(this)를 비교


Comparator는 compare()메서드를 구현
두 개의 매개 변수를 비교
TreeSet 생성자에 Comparator가 구현된 객체를 매개변수로 전달
TreeSet<Member> treeSet = new TreeSet<Member>(new Member());

일번적으로 Comparable을 더 많이 사용

이미 Comparable이 구현된 경우 Comparator를 이용하여 다른 정렬 방식을 정의 할 수 있음


https://bit.ly/2YynTUa

 

한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online. | 패스트캠퍼스

Java/Spring 웹 개발, 핵심 25가지 스킬부터 공부하세요. 대기업 출신 7인의 강사진이 모여 만든 Java/Spring 웹 개발 완전체 커리큘럼! 핵심 스킬 25가지 강의부터 250개의 예제, 7개의 프로젝트까지! 비

fastcampus.co.kr



728x90

관련글 더보기