>  기사  >  Java  >  Java 대기열 대기열을 사용하는 방법

Java 대기열 대기열을 사용하는 방법

小老鼠
小老鼠원래의
2023-12-26 17:09:191304검색

Java에서 Queue 인터페이스는 FIFO(선입선출) 원칙을 따르는 대기열 데이터 구조를 나타냅니다. 즉, 대기열에 먼저 넣은 요소가 먼저 대기열에서 제거됩니다. 사용법: LinkedList는 Queue의 구현으로 사용됩니다. 요소가 큐에 추가된 다음, 헤드 요소는 poll 메소드를 통해 제거되고, 헤드 요소는 제거되지 않고 peek 메소드를 통해 획득되며, 마지막으로 큐의 요소는 다음과 같습니다. 반복을 통해 통과했습니다.

Java 대기열 대기열을 사용하는 방법

이 튜토리얼의 운영 체제: Windows 10 시스템, Dell G3 컴퓨터.

Java에서 Queue 인터페이스는 FIFO(선입선출) 원칙을 따르는 대기열 데이터 구조를 나타냅니다. 즉, 먼저 입력된 요소가 먼저 대기열에서 제거됩니다. Queue 인터페이스는 대기열을 작동하기 위한 몇 가지 메소드를 정의하는 Collection 인터페이스에서 상속됩니다. Queue 인터페이스에는 LinkedList와 PriorityQueue라는 두 가지 주요 구현 클래스가 있습니다.

다음은 일반적으로 사용되는 대기열 인터페이스 방법입니다.

1. add(E e) / Offer(E e): 지정된 요소를 대기열에 삽입합니다. add 메소드는 대기열이 가득 차면 예외를 발생시키고, Offer 메소드는 삽입이 성공했는지 여부를 나타내는 특수 값(예: true 또는 false)을 반환합니다.

Queue<String> queue = new LinkedList<>();
queue.add("Element 1");
queue.offer("Element 2");

2.remove() / poll(): 대기열의 헤드 요소를 제거하고 반환합니다. 제거 메소드는 대기열이 비어 있을 때 예외를 발생시키고, 폴링 메소드는 제거가 성공했는지 여부를 나타내는 특수 값(예: null)을 반환합니다.

String element = queue.remove();
String elementOrNull = queue.poll();

3.element() / peek(): 대기열의 헤드 요소를 반환하지만 제거하지는 않습니다. 요소 메서드는 대기열이 비어 있을 때 예외를 발생시키고, peek 메서드는 획득 성공 여부를 나타내는 특수 값(예: null)을 반환합니다.

String peekedElement = queue.element();
String peekedElementOrNull = queue.peek();

4.size(): 대기열에 있는 요소 수를 반환합니다.

int size = queue.size();

5.isEmpty(): 대기열이 비어 있는지 확인합니다.

boolean isEmpty = queue.isEmpty();

6.clear(): 대기열의 모든 요소를 ​​지웁니다.

queue.clear();

7. 기타 메소드: 위의 기본 메소드 외에도 Queue 인터페이스는 컬렉션 작업을 지원하기 위해 addAll,removeAll,retainAll 등과 같은 다른 메소드도 정의합니다.

다음은 Queue 인터페이스를 사용하는 방법을 보여주는 간단한 예입니다.

import java.util.LinkedList;
import java.util.Queue;
public class QueueExample {
    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<>();
        // 添加元素
        queue.offer("Element 1");
        queue.offer("Element 2");
        queue.offer("Element 3");
        // 获取并移除头部元素
        String removedElement = queue.poll();
        System.out.println("Removed Element: " + removedElement);
        // 获取头部元素但不移除
        String peekedElement = queue.peek();
        System.out.println("Peeked Element: " + peekedElement);
        // 遍历队列
        System.out.println("Queue Elements:");
        for (String element : queue) {
            System.out.println(element);
        }
    }
}

이 예에서는 LinkedList가 Queue 구현으로 사용되고 요소가 대기열에 추가된 다음 폴링을 통해 헤드 요소가 제거됩니다. peek 메소드는 헤드 요소를 제거하지 않고 획득하고 마지막으로 큐의 요소를 반복합니다.

위 내용은 Java 대기열 대기열을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.