Published 2022. 9. 28. 17:29
반응형

스택이란 우리가 정보처리 자격증을 공부하며 배우셨던 분들이 아마 많을겁니다 

사전적인 의미는 쌓는다 라는 의미입니다 

상자나 빈컵에다가 물건을 차곡차곡 쌓는 연상을 해보시면 이해가 편할겁니다 

그렇게 쌓고 꺼낼때는 위에 있는 물건부터 꺼내게 되는것이죠 

이 방식을 가진 자료구조가 바로 Stack입니다 

(Last In First Out) LIFO 많이 들어보셨죠 ㅎㅎ 그 자료구조를 가진 클래스를 

사용 할 수 있습니다 

 

일단 Stack 클래스는 java.util 패키지 안에 있습니다 ㅎㅎ

 

제네릭을 써서 선언을 하는편이구요 ㅎㅎ 자 살펴봅시다 

 

		Stack<Integer> stackIsi = new Stack<>();
		Stack<String> stackIsS = new Stack<>(); 
		
		stackIsi.push(1);
		stackIsi.push(2);
		stackIsi.push(3);
		
		System.out.println(stackIsi.pop());
		System.out.println(stackIsi.pop());
		System.out.println(stackIsi.pop());

선언 하고 값을 넣고 pop 매서드로 뽑아 내봅시다 ㅎㅎ 그러면 당연히 123 으로 나오는게 아니라

3 2 1 순으로 나오게 됩니다 

 

스택의 모든 값을 제거하고자 하면 stackIsi.clear() 입니다 

		System.out.println(stackIsi.peek());		//가장 상위에 있는 값을 확인
		System.out.println(stackIsi.contains(1));	//이 값이 안에 있나
		System.out.println(stackIsi.contains(4));	//이 값이 안에 있나

peek메서드는 가장 마지막에 들어간 즉 상위에 있는 값을 알려줍니다 

contains는 해당하는 스택에 인자로 넣은 값이 들어있는지 확인합니다 

 

이런 메서드 말고도 

size()는 스택의 크기를 체크 하고 

empty() 는 스택이 비어있는지 여부를 판단합니다 

 

이 클래스를  소개한 이유는 알고리즘을 짤때에 필요한 경우가 가끔 있기 때문입니다 ㅎㅎ

 

자료구조는 이 말고도 큐도 있으니 다음에 한번 알아보도록 합시다 

반응형

'Developer > Java' 카테고리의 다른 글

[java]자바 중급 개념정리  (2) 2022.09.30
[java]자바 중급 개념정리1  (0) 2022.09.29
[java]Arrays클래스  (0) 2022.09.27
[java] Math 클래스  (0) 2022.09.26
[java]Character클래스, Integer클래스  (0) 2022.09.20
복사했습니다!