본문 바로가기

자바

Stack 기초 (자바)

 LIFO(Last In First Out) 구조이며, 깊이 우선 탐색(DFS), 재귀함수 호출에서 사용된다.

Stack 선언 방법

Stack st = new Stack(); // 타입 설정x Object로 선언
Stack<Integer> i = new Stack<Integer>(); // Integer타입 선언
Stack<Integer> i2 = new Stack<>(); // 타입 생략 가능
Stack<String> s = new Stack<String>(); // String타입 선언
Stack<Character> ch = new Stack<Character>(); // Char타입 선언

Stack 기초 명령어 예제

→Stack값 추가

public class Main {
    public static void main(String[] args)  {
        Stack<Integer> stack = new Stack<>(); //int형 스택 선언
        stack.push(1);  // stack에 값 1 추가
        stack.push(2);  // stack에 값 2 추가
        stack.push(3);  // stack에 값 3 추가
        
    }
}

 

→Stack값 삭제

public class Main {
    public static void main(String[] args)  {
        Stack<Integer> stack = new Stack<>(); //int형 스택 선언
        stack.pop();       // stack의 상단 값 제거
        stack.clear();     // stack의 전체 값 제거 (초기화)
    }   
}

→Stack 기타 명령어

public class Main {
    public static void main(String[] args)  {
        Stack<Integer> stack = new Stack<>(); //int형 스택 선언
        stack.peek();       // stack의 가장 상단의 값 출력
        stack.size();       // stack의 크기 출력
        stack.empty();      // stack이 비어있는지 확인 (비어있다면 true)
        stack.contains(1);  // stack에 1이 있는지 check (있다면 true)
       	stack.indexOf(2);   // stack의 2번째 index를 반환
    }
}

 

'자바' 카테고리의 다른 글

HashSet기초 (자바)  (0) 2023.01.07
Vector 기초 (자바)  (0) 2023.01.07
LinkedList 기초 (자바)  (0) 2023.01.06
ArrayList 기초 (자바)  (0) 2023.01.06
Collection(List, Set, Queue, Map)  (0) 2023.01.06