| Package | org.as3collections.queues |
| Class | public class SortedQueue |
| Inheritance | SortedQueue LinearQueue AbstractQueue AbstractArrayCollection Object |
| Implements | ISortedQueue |
| Subclasses | IndexQueue, PriorityIndexQueue, PriorityQueue |
sort or sortOn methods.
For each change that occurs the queue is automatically ordered using the comparator and options.
If none was provided the default behavior of the sort method is used.
The user of this queue may change their order at any time by calling the sort or sortOn method and imposing others arguments to change the sort behaviour.
It's possible to create unique sorted queues, typed sorted queues and even unique typed sorted queues.
You just sends the SortedQueue object to the wrappers UniqueQueue or TypedQueue or uses the QueueUtil.getUniqueTypedQueue.
But there's a problem here: the return type will be UniqueQueue or TypedQueue.
Thus you will can no longer use the sort and sortOn methods directly.
The wrapped SortedQueue will be only automatically ordered, with the provided comparator and options constructor's arguments.
Check the examples at the bottom of the page.
| Property | Defined By | ||
|---|---|---|---|
![]() | allEquatable : Boolean [read-only]
Indicates whether all elements in this collection implement the interface org.as3coreaddendum.system.IEquatable. | AbstractArrayCollection | |
| comparator : IComparator
Defines the comparator object to be used automatically to sort. | SortedQueue | ||
| options : uint
Defines the options to be used automatically to sort. | SortedQueue | ||
| Method | Defined By | ||
|---|---|---|---|
SortedQueue(source:Array = null, comparator:IComparator = null, options:uint = 0)
Constructor, creates a new SortedQueue object. | SortedQueue | ||
![]() | add(element:*):Boolean [override]
Inserts the specified element into this queue if it is possible to do so immediately without violating restrictions. | AbstractQueue | |
![]() | addAll(collection:ICollection):Boolean
Adds all of the elements in the specified collection to this collection (optional operation). | AbstractArrayCollection | |
![]() | clear():void [override]
Removes all of the elements from this queue. | LinearQueue | |
clone():* [override]
Creates and return a new SortedQueue object containing all elements in this queue (in the same order). | SortedQueue | ||
![]() | contains(o:*):Boolean
Returns true if this collection contains the specified object. | AbstractArrayCollection | |
![]() | containsAll(collection:ICollection):Boolean
Returns true if this collection contains all of the elements in the specified collection. | AbstractArrayCollection | |
![]() | dequeue():*
Retrieves and removes the head of this queue. | AbstractQueue | |
![]() | element():*
Retrieves, but does not remove, the head of this queue. | AbstractQueue | |
equals(other:*):Boolean [override]
Performs an arbitrary, specific evaluation of equality between this object and the other object. | SortedQueue | ||
![]() | isEmpty():Boolean
Returns true if this collection contains no elements. | AbstractArrayCollection | |
![]() | [override]
Returns an iterator over a set of elements. | LinearQueue | |
offer(element:*):Boolean [override]
Inserts the specified element into this queue if it is possible to do so immediately without violating restrictions. | SortedQueue | ||
![]() | peek():* [override]
Retrieves, but does not remove, the head of this queue, or returns null if this queue is empty. | LinearQueue | |
poll():* [override]
Retrieves and removes the head of this queue, or returns null if this queue is empty. | SortedQueue | ||
remove(o:*):Boolean [override]
Removes a single instance (only one occurrence) of the specified object from this queue, if it is present. | SortedQueue | ||
removeAll(collection:ICollection):Boolean [override]
Removes all of this queue's elements that are also contained in the specified collection. | SortedQueue | ||
![]() | retainAll(collection:ICollection):Boolean
Retains only the elements in this collection that are contained in the specified collection (optional operation). | AbstractArrayCollection | |
![]() | size():int
Returns the number of elements in this collection. | AbstractArrayCollection | |
sort(compare:Function = null, options:uint = 0):Array
Sorts the objects within this class. | SortedQueue | ||
sortOn(fieldName:*, options:* = null):Array
Sorts the elements in an array according to one or more fields in the array. | SortedQueue | ||
![]() | toArray():Array
Returns an array containing all of the elements in this collection. | AbstractArrayCollection | |
![]() | toString():String
Returns the string representation of this instance. | AbstractArrayCollection | |
| comparator | property |
comparator:IComparatorDefines the comparator object to be used automatically to sort.
If this value change the queue is automatically reordered with the new value.
public function get comparator():IComparator public function set comparator(value:IComparator):void| options | property |
options:uintDefines the options to be used automatically to sort.
If this value change the queue is automatically reordered with the new value.
public function get options():uint public function set options(value:uint):void| SortedQueue | () | Constructor |
public function SortedQueue(source:Array = null, comparator:IComparator = null, options:uint = 0)
Constructor, creates a new SortedQueue object.
source:Array (default = null) — an array to fill the queue.
| |
comparator:IComparator (default = null) — the comparator object to be used internally to sort.
| |
options:uint (default = 0) — the options to be used internally to sort.
|
| clone | () | method |
override public function clone():*
Creates and return a new SortedQueue object containing all elements in this queue (in the same order).
* — a new SortedQueue object containing all elements in this queue (in the same order).
|
| equals | () | method |
override public function equals(other:*):Boolean
Performs an arbitrary, specific evaluation of equality between this object and the other object.
This implementation considers two differente objects equal if:
This implementation takes care of the order of the elements in the queue. So, for two queues are equal the order of elements returned by the iterator object must be equal.
Parameters
other:* — the object to be compared for equality.
|
Boolean — true if the arbitrary evaluation considers the objects equal.
|
| offer | () | method |
override public function offer(element:*):Boolean
Inserts the specified element into this queue if it is possible to do so immediately without violating restrictions.
When using a restricted queue (like TypedQueue and UniqueQueue), this method is generally preferable to add, which can fail to insert an element only by throwing an error.
Before returning, the queue is reordered.
Parameters
element:* — the element to add.
|
Boolean — true if the element was added to this queue, else false.
|
| poll | () | method |
override public function poll():*
Retrieves and removes the head of this queue, or returns null if this queue is empty.
Before returning, the queue is reordered.
Returns* — the head of this queue, or null if this queue is empty.
|
| remove | () | method |
override public function remove(o:*):BooleanRemoves a single instance (only one occurrence) of the specified object from this queue, if it is present.
Before returning, the queue is reordered.
Parameters
o:* — the object to be removed from this collection, if present.
|
Boolean — true if an object was removed as a result of this call.
|
| removeAll | () | method |
override public function removeAll(collection:ICollection):BooleanRemoves all of this queue's elements that are also contained in the specified collection. After this call returns, this queue will contain no elements in common with the specified collection.
Before returning, the queue is reordered.
Parameters
collection:ICollection — the collection containing elements to be removed from this queue.
|
Boolean — true if this queue changed as a result of the call.
|
| sort | () | method |
public function sort(compare:Function = null, options:uint = 0):ArraySorts the objects within this class.
For more info see org.as3coreaddendum.system.ISortable.sort() in the link below.
Parameters
compare:Function (default = null) | |
options:uint (default = 0) |
Array —
|
| sortOn | () | method |
public function sortOn(fieldName:*, options:* = null):ArraySorts the elements in an array according to one or more fields in the array.
Consult Array.sortOn in the ActionScript 3.0 Language Reference in the link below for more info.
Parameters
fieldName:* | |
options:* (default = null) |
Array —
|
See also
import org.as3collections.ISortedQueue;
import org.as3collections.queues.SortedQueue;
var queue1:ISortedQueue = new SortedQueue([3, 5, 1, 7], null, Array.NUMERIC | Array.DESCENDING);
queue1 // [7,5,3,1]
queue1.size() // 4
queue1.add(-1) // true
queue1 // [7,5,3,1,-1]
queue1.size() // 5
queue1.add(4) // true
queue1 // [7,5,4,3,1,-1]
queue1.size() // 6
queue1.add(5) // true
queue1 // [7,5,5,4,3,1,-1]
queue1.size() // 7
queue1.poll() // 7
queue1 // [5,5,4,3,1,-1]
queue1.size() // 6
queue1.sort(null, Array.NUMERIC)
queue1 // [-1,1,3,4,5,5]
queue1.poll() // -1
queue1 // [5,5,4,3,1]
queue1.size() // 5
queue1.add(2) // true
queue1 // [5,5,4,3,2,1]
queue1.size() // 6
queue1.add(10) // true
queue1 // [10,5,5,4,3,2,1]