재미있는 수학

Menu

자바 큐 예제

FIFO(선착순)가 큐의 요소를 정렬하는 가장 일반적인 방법입니다. 이 예제에서는 큐를 처리하기 위해 작업을 표시합니다. 자바는 TransferQueue 인터페이스, 링크드 트랜스퍼큐의 하나의 구현과 함께 제공됩니다. Queue가 컬렉션에서 상속하는 add 메서드는 큐의 용량 제한을 위반하지 않는 한 요소를 삽입하며, 이 경우 IllegalStateException을 throw합니다. 경계가 지정된 큐에서만 사용하기 위한 오퍼 메서드는 false를 반환하여 요소를 삽입하지 못했음을 나타냅니다. 먼저 Java가 제공하는 구현뿐만 아니라 큐가 수행하는 작업을 살펴봤습니다. + ArrayDeque : Deque 인터페이스의 간단한 구현. 목록 기반 큐(LinkedList보다 간단함)가 없는 이중 종료 된 큐의 기능을 활용하려는 경우 ArrayDeque를 사용하는 것이 좋습니다. Java 작업의 용량 제한 큐 큐에 대해 유사한 방식으로 선호하는 작업에 따라 특수 값(null 또는 false)을 반환합니다. 대기열을 선언한 후 뒷면에 새 요소를 추가하고 앞에서 제거할 수 있습니다. 다행히도 Java는 동시 링크드 큐, 배열 차단 큐 및 동시 링크드데크를 제공하며 스레드가 안전하며 다중 스레드 프로그램에 적합합니다. + PriorityQueue: 이 대기열은 자연 순서에 따라 또는 건설 시 제공된 비교기에서 요소를 정렬합니다.

기본 설정큐를 사용하는 것이 좋습니다 자연 순서의 장점을 활용 하 고 신속 하 게 꼬리에 요소를 추가 하 고 큐의 머리에 요소를 빠르게 제거 합니다. 이러한 3개의 인터페이스는 Java에서 사용할 수 있는 대부분의 큐에 의해 구현됩니다. 이러한 인터페이스가 수행하도록 설정된 작업을 간단히 살펴보겠습니다. AbstractQueue 클래스를 확장 하는 사용자 지정 큐를 만들 때 null 요소의 삽입을 허용 하지 않는 offer 메서드의 구현을 제공 해야 합니다. 컬렉션 클래스의 하위 형식이므로 크기(), isEmpty(), include() 등 모든 메서드를 상속합니다. 다음은 이러한 메서드를 보여 주는 간단한 Java 프로그램입니다: AbstractQueue는 Java가 제공하는 가장 간단한 Queue 구현입니다. 여기에는 제안을 제외한 Queue 인터페이스의 일부 메서드에 대한 스켈레탈 구현이 포함됩니다. offer 메서드는 가능하면 요소를 삽입하고 그렇지 않으면 false를 반환합니다.

이는 선택되지 않은 예외를 throw하여 요소를 추가하지 못할 수 있는 Collection.add 메서드와 다릅니다. 오퍼 방법은 고정 용량(또는 “경계가 지정된”) 큐와 같이 예외적인 발생이 아닌 정상인 경우 사용하도록 설계되었습니다. Java의 큐 구현은 범용(java.util.Queue 인터페이스의 구현) 및 동시(java.util.concurrent.BlockingQueue 인터페이스의 구현)로 그룹화되어 있으며, 큐 인터페이스는 java.util 패키지에서 사용할 수 있습니다. 컬렉션 인터페이스를 확장합니다. 큐 컬렉션은 처리될 요소를 보유하는 데 사용되며 삽입, 제거 등과 같은 다양한 작업을 제공합니다. 목록의 끝에 요소를 삽입하고 목록의 시작 부분에서 요소를 삭제하는 것으로 제한되는 정렬된 개체 목록입니다.

No categories

Comments

Sorry, comments are closed for this item.