>  기사  >  Java  >  Java 대기열 인터페이스

Java 대기열 인터페이스

PHPz
PHPz원래의
2024-08-30 16:04:211136검색

큐 인터페이스는 util.java 패키지의 멤버입니다. 이는 컬렉션 프레임워크의 일부이며 컬렉션 인터페이스를 확장하는 데 사용됩니다. 컬렉션 인터페이스가 기본 인터페이스이므로 큐 인터페이스에는 컬렉션 인터페이스의 모든 메서드가 포함됩니다. 큐는 FIFO(선입선출) 데이터 구조입니다. 큐는 순서대로 마지막 위치에 요소를 삽입할 수 있도록 구현된 데이터 구조를 나타냅니다. 대기열에서는 대기열에 처음 삽입된 항목이 먼저 나옵니다. Java의 대기열은 인터페이스입니다. 따라서 인스턴스화할 수 없습니다. 큐 인터페이스는 주로 LinkedList와 PriorityQueue의 두 클래스로 구현됩니다. 자바 목록과 같이 순서가 지정된 개체 시퀀스입니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문

다음 구문에서 객체 obj는 LinkedList / PriorityQueue 클래스를 사용하여 인스턴스화됩니다. 아래 두 개의 Queue 구문에서는 LinkedList 구현이 표준입니다.

Queue qObj = new LinkedList();

또는

Queue qObj = new PriorityQueue();

제한된 데이터 유형의 대기열 인스턴스는 다음 주어진 구문을 사용하여 생성할 수 있습니다.

Queue<String> q = new LinkedList<String>();

대기열 인터페이스 방법

일반적으로 사용되는 대기열 인터페이스 방법 중 일부는 다음과 같습니다

  • add(): 대기열에 요소를 삽입하는 데 사용되는 add() 메서드입니다. 응답이 성공하면 true를 반환합니다. 그렇지 않으면 예외가 발생합니다.
  • element(): element()는 대기열 헤드 요소를 반환하는 중요한 메서드 중 하나입니다. 대기열이 비어 있으면 예외가 생성됩니다. 예제 섹션에서는 element() 메소드가 어떻게 작동하는지 확인할 수 있습니다.
  • offer(): 이 메서드는 대기열에 요소를 삽입하는 데에도 사용됩니다. add()와 Offer의 유일한 차이점은 add 메소드가 대기열에 요소를 추가할 수 없는 경우 Offer 메소드는 그렇지 않은 반면 예외를 생성한다는 것입니다.
  • peek(): peek() 메서드는 element() 메서드와 거의 유사합니다. 대기열의 헤드를 확인합니다. 대기열이 비어 있으면 NULL을 반환합니다
  • poll(): 이 메소드는 대기열의 앞부분에서 요소를 제거하고 대기열의 앞부분 요소를 반환합니다. 대기열이 비어 있으면 null을 반환합니다.
  • remove(): 이 메소드는 대기열의 맨 앞 요소를 제거하고 반환하는 데 사용됩니다. 요소가 비어 있는 것으로 확인되면 예외가 생성됩니다.
  • size(): 이 메소드는 대기열에서 사용 가능한 요소의 개수를 반환합니다.

Java Queue 인터페이스 구현 예

다음은 Java 대기열 인터페이스 구현 예입니다.

예시 #1

이 예는 프로그램에서 다양한 메서드가 사용되는 방식과 이러한 메서드가 반환하는 내용을 보여줍니다.

  1. 큐의 인스턴스는 LinkedList 유형으로 생성됩니다.
  2. 또한 add 메소드를 사용하여 다양한 문자열 요소가 대기열에 추가됩니다.
  3. 다음 명령문에서는 size() 메소드를 사용하여 대기열의 크기를 표시합니다.
  4. 대기열의 항목, 대기열의 헤드 요소가 다음 줄에 표시됩니다.
  5. Remove 메소드는 대기열에서 요소를 제거하는 데 추가로 사용됩니다.
  6. 다음 두 줄에는 각각 대기열에서 사용 가능한 항목과 대기열의 헤드 항목이 표시됩니다.

코드:

//importing packages
import java.util.*;
public class QueueInterfaceExample {
public static void main(String[] args){
Queue qObj = new LinkedList();
//adding element to the queue
qObj.add("Action");
qObj.add("speak");
qObj.add("louder");
qObj.add("than");
qObj.add("Words");
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//printing the head element of the queue
System.out.println("\nHead item of the Queue: " + qObj.element());
//removing head element from the queue
qObj.remove();
//items available in the queue
System.out.println("\nAvailable item in Queue: " + qObj);
//items available in the queue after applying peek method
System.out.println("\nHead item of the Queue: " + qObj.peek());
//applying the poll method to the
qObj.poll();
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
}
}

출력:

Java 대기열 인터페이스

예시 #2

이 예에서는 제한된 유형의 요소를 대기열에 추가하는 방법을 확인할 수 있습니다.

코드:

//importing package here
import java.util.*;
public class QueueInterfaceExample2 {
public static void main(String[] args){
//initialize a Queue using a LinkedList
Queue<Integer> qObj = new LinkedList<>();
//adding element to the queue
qObj.add(50);
qObj.add(175);
qObj.add(1450);
qObj.add(2750);
qObj.add(10250);
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
//declaring a integer variable here
Integer intVar = 1450;
//condition to check if element is available in the queue
if(qObj.contains(intVar)){
//items available in the queue after applying poll method
System.out.println("\nSpecified item is available in the Queue.");
}
//declaring a integer variable here
Integer intVar2 = 1500;
//condition to check if element is available in the queue
if(qObj.contains(intVar2)){
//items available in the queue after applying poll method
System.out.println("\nSpecified item is available in the Queue.");
}else{
//items available in the queue after applying poll method
System.out.println("\nSpecified item " + intVar2 + " is not available in the Queue.");
}
}
}

출력:

Java 대기열 인터페이스

예시 #3

이 예에서는 Integer 유형의 제한된 Queue에 String 유형의 요소를 추가하려고 합니다.

코드:

importing package here
import java.util.*;
public class QueueInterfaceExample3 {
public static void main(String[] args){
//initialize a Queue using a LinkedList
Queue<Integer> qObj = new LinkedList<>();
//adding element to the queue
qObj.add(50);
qObj.add(175);
qObj.add(1450);
qObj.add(2750);
qObj.add("Happy");
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
}
}

출력:

위 프로그램의 출력은 Integer 유형 Queue에 String 유형의 요소를 삽입하는 것이 지원되지 않으므로 오류가 발생합니다.

Java 대기열 인터페이스

결론

위 기사에는 대기열 인터페이스가 명확하게 설명되어 있습니다. 컬렉션 인터페이스를 확장하는 데 사용됩니다. 또한 대기열 인터페이스에서 FIFO가 사용되는 방법도 제공됩니다. 대기열 인터페이스의 사용은 위 섹션에 나와 있습니다. 대기열 및 대기열 방법이 어떻게 작동하는지 확인하기 위해 기사에 일부 예가 나와 있습니다.

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

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