자료구조라는 것은 “자료(데이터)의 집합”이라는 뜻으로
데이터들을 어떤 형태로 저장해 둘 것인가에 대해 미리 연구해놓은 형태.
쉽게 말하면 “특별한 사용 목적의 데이터를 특별한 형태로
담을 수 있게 설계된 통”
이렇게 특별한 형태로 데이터를 저장해둔 통의 종류는
리스트(list), 스택(stack), 큐(queue), 집합(set), 해쉬테이블(hash table) 등이 있다.
그중에서 스택과 큐에 대해서 알아보자!!!
- 밑에서부터 차곡차곡 쌓아올린다는 의미로 Stack이라고 이름 붙임
그래서 Stack스택은 데이터를 차례대로 쌓는 자료구조
- FILO(First In Last Out) LIFO(Last in Frist Out)
- 스택은 웹페이지에서 앞으로 이동, 뒤로 이동을 구현할 때 쓴다
(Stack 객체 2개를 활용하여 구현)
stack.peek() 스택 맨위의 요소를 확인(제거하지 않는다)
stack.pop() 맨위의 요소확인하는데 확인된 요소를 제거함.
- 큐는 한쪽에서 추가, 반대편에서 삭제가 이뤄지는 자료구조
------------->in ---------out
- FIFO (first InFirst Out) LILO (Last In Last Out
- 구현체 클래스는 LikedLiset(List와 Queue를 모두 구현한 클래스)
- 은행 번호표, 응용프로그램의 최근 사용 문서 기능에 주로 사용
Queue q = new LinkedList();
q.offer("1 - Ex.java");
q.offer("2 - test.jsp");
q.offer("3 - member.sql");
System.out.println("큐의 모든 요소 : " + q);
peek() : 큐의 가장 오래된 요소(먼저 추가된 요소) 확인(제거하지 않음)
System.out.println("큐의 가장 오래된 요소 확인 : " + q.peek());
System.out.println("큐의 가장 오래된 요소 확인 : " + q.peek());
System.out.println("큐의 모든 요소 : " + q);
poll() : 큐의 가장 오래된 요소(먼저 추가된 요소) 확인(제거)
System.out.println("큐의 가장 오래된 요소 확인(꺼내기) : " + q.poll());
System.out.println("큐의 가장 오래된 요소 확인(꺼내기) : " + q.poll());
System.out.println("큐의 모든 요소 : " + q);
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!
[java]자바_StringTokenizer클래스를 통한 문자열 분리 /split차이점 (0) | 2020.07.28 |
---|---|
[java]자바_제네릭(Generic)쉽게 정리/메서드/ 인터페이스/상속 /반복문/파라미터/Arraylist이해하기 (0) | 2020.07.27 |
자바로 구구단 구하기 (중첩 for문) (0) | 2020.07.25 |
[java]자바_Annotation(애노테이션/어노테이션) (0) | 2020.07.24 |
[java] 자바 함수종류 / 메소드,파라미터, 리턴값, 멤버변수, 인스턴스생성, 초기화_실습 예제(1) (0) | 2020.07.23 |