상세 컨텐츠

본문 제목

[자바]Stack(스택)FILO,LIFO vs Queue(큐)/ 데이터저장 구조(data)

java_자바

by 쫑메이 2020. 7. 26. 00:00

본문

 

 

 

 

 

 

 

 

 


 

 

 

자료구조라는 것은 “자료(데이터)의 집합”이라는 뜻으로

데이터들을 어떤 형태로 저장해 둘 것인가에 대해 미리 연구해놓은 형태. 

 

쉽게 말하면 “특별한 사용 목적의 데이터를 특별한 형태로

담을 수 있게 설계된 통”

 

이렇게 특별한 형태로 데이터를 저장해둔 통의 종류는

리스트(list), 스택(stack), 큐(queue), 집합(set), 해쉬테이블(hash table) 등이 있다.

 

그중에서 스택과 큐에 대해서 알아보자!!!


 

 

 

 

 

 

 

 


[자바 데이터 저장 구조]_ Stack(스택)


 

- 밑에서부터 차곡차곡 쌓아올린다는 의미로 Stack이라고 이름 붙임

그래서 Stack스택은 데이터를 차례대로 쌓는 자료구조

 

- FILO(First In Last Out) LIFO(Last in Frist Out)

 

 

 

- 스택은 웹페이지에서 앞으로 이동, 뒤로 이동을 구현할 때 쓴다

(Stack 객체 2개를 활용하여 구현)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

[자바 데이터 저장 구조] 스택 메서드


 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바 데이터 저장 구조]_스택(stack): 모든 요소


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

[자바 데이터 저장 구조]_스택(stack): peek()


 

 

 

stack.peek() 스택 맨위의 요소를 확인(제거하지 않는다)

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바 데이터 저장 구조]_스택(stack): pop


 

stack.pop() 맨위의 요소확인하는데 확인된 요소를 제거함.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바 데이터 저장 구조]_큐(Queue)


 

 

 

 

- 큐는 한쪽에서 추가, 반대편에서 삭제가 이뤄지는 자료구조

------------->in ---------out

 

 

 

 

- FIFO (first InFirst Out) LILO (Last In Last Out

 

- 구현체 클래스는 LikedLiset(List와 Queue를 모두 구현한 클래스)

 

 

 

 

 

- 은행 번호표, 응용프로그램의 최근 사용 문서 기능에 주로 사용

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바 데이터 저장 구조]_큐(Queue) 메서드


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

[자바 데이터 저장 구조]_큐(Queue): 큐의 모든 요소


 

 

 

Queue q = new LinkedList();

q.offer("1 - Ex.java");

q.offer("2 - test.jsp");

q.offer("3 - member.sql");

System.out.println("큐의 모든 요소 : " + q);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바 데이터 저장 구조]_큐(Queue):

peek 메서드


 

 

peek() : 큐의 가장 오래된 요소(먼저 추가된 요소) 확인(제거하지 않음)

System.out.println("큐의 가장 오래된 요소 확인 : " + q.peek());

System.out.println("큐의 가장 오래된 요소 확인 : " + q.peek());

System.out.println("큐의 모든 요소 : " + q);

 

 

 

 

 

 

 

 

 

 

 


[자바 데이터 저장 구조]_큐(Queue) :

poll 메서드


 

poll() : 큐의 가장 오래된 요소(먼저 추가된 요소) 확인(제거)

System.out.println("큐의 가장 오래된 요소 확인(꺼내기) : " + q.poll());

System.out.println("큐의 가장 오래된 요소 확인(꺼내기) : " + q.poll());

System.out.println("큐의 모든 요소 : " + q);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

ㅣ읽느라 수고 많으셨어요~ㅣ

 

 


 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

부족한 글을 읽어주셔서 감사드립니다

아직 부족한게 많으니

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 

 

 

 

 

 

 


 

 

반응형

관련글 더보기