TIL#18-2

DuBu·2023년 7월 3일
0

일본IT JAVA 연수과정

목록 보기
32/61
post-thumbnail

TreeSet

Java 컬렉션 프레임워크의 일부로, 정렬된 순서로 요소를 저장하는 데이터 구조입니다. TreeSet은 중복 요소를 허용하지 않으며, 요소를 추가하거나 제거하면 자동으로 정렬됩니다.

  • 요소의 정렬된 순서 유지
  • 중복 요소 허용하지 않음
  • 검색, 삽입, 삭제 등의 연산을 빠르게 수행
  • 이진 검색 트리 및 레드-블랙 트리를 내부적으로 사용
  • TreeSet은 데이터를 정렬된 순서로 유지해야 할 때 유용하게 사용될 수 있습니다. 예를 들어, 정수, 문자열, 날짜 등을 정렬된 순서로 관리해야 할 때 TreeSet을 사용할 수 있습니다.

Queue

Stack과 queue

  • 스택(Stack)과 큐(Queue)는 자료를 저장하고 관리하는 데 사용되는 자료 구조입니다.

스택은 후입선출(LIFO, Last-In-First-Out)의 원리를 따릅니다. 즉, 가장 최근에 삽입된 요소가 가장 먼저 제거됩니다. 스택은 주로 "push"와 "pop"이라는 두 가지 주요 연산을 제공합니다. "push"는 스택의 맨 위에 요소를 삽입하고, "pop"은 스택의 맨 위에 있는 요소를 제거합니다. 스택은 주로 재귀 함수 호출, 수식의 괄호 검사, 뒤로 가기 기능 등에 사용됩니다.

import java.util.Stack;

public class StackExample {
    public static void main(String[] args) {
        Stack<String> stack = new Stack<>();

        // 스택에 요소 추가
        stack.push("사과");
        stack.push("바나나");
        stack.push("딸기");

        // 스택에서 요소 제거
        String fruit = stack.pop();
        System.out.println("스택에서 꺼낸 과일: " + fruit);

        // 스택 맨 위 요소 확인
        String topElement = stack.peek();
        System.out.println("스택 맨 위의 요소: " + topElement);

        // 스택이 비어 있는지 확인
        boolean isEmpty = stack.isEmpty();
        System.out.println("스택이 비어 있는지 확인: " + isEmpty);
    }
}

큐는 선입선출(FIFO, First-In-First-Out)의 원리를 따릅니다. 즉, 가장 먼저 삽입된 요소가 가장 먼저 제거됩니다. 큐는 주로 "enqueue"와 "dequeue"라는 두 가지 주요 연산을 제공합니다. "enqueue"는 큐의 뒤쪽에 요소를 삽입하고, "dequeue"는 큐의 앞쪽에 있는 요소를 제거합니다. 큐는 주로 작업 대기열, 버퍼, 너비 우선 탐색 등에 사용됩니다.

import java.util.LinkedList;
import java.util.Queue;

public class QueueExample {
    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<>();

        // 큐에 요소 추가
        queue.add("사과");
        queue.add("바나나");
        queue.add("딸기");

        // 큐에서 요소 제거
        String fruit = queue.remove();
        System.out.println("큐에서 꺼낸 과일: " + fruit);

        // 큐 맨 앞 요소 확인
        String frontElement = queue.peek();
        System.out.println("큐 맨 앞의 요소: " + frontElement);

        // 큐가 비어 있는지 확인
        boolean isEmpty = queue.isEmpty();
        System.out.println("큐가 비어 있는지 확인: " + isEmpty);
    }
}

0개의 댓글