class Concurrent::Collection::JavaNonConcurrentPriorityQueue
@!macro priority_queue
@!visibility private @!macro internal_implementation_note
Public Class Methods
from_list(list, opts = {})
click to toggle source
@!macro priority_queue_method_from_list
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 76 def self.from_list(list, opts = {}) queue = new(opts) list.each{|item| queue << item } queue end
new(opts = {})
click to toggle source
@!macro priority_queue_method_initialize
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 14 def initialize(opts = {}) order = opts.fetch(:order, :max) if [:min, :low].include?(order) @queue = java.util.PriorityQueue.new(11) # 11 is the default initial capacity else @queue = java.util.PriorityQueue.new(11, java.util.Collections.reverseOrder()) end end
Public Instance Methods
clear()
click to toggle source
@!macro priority_queue_method_clear
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 24 def clear @queue.clear true end
delete(item)
click to toggle source
@!macro priority_queue_method_delete
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 30 def delete(item) found = false while @queue.remove(item) do found = true end found end
empty?()
click to toggle source
@!macro priority_queue_method_empty
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 39 def empty? @queue.size == 0 end
include?(item)
click to toggle source
@!macro priority_queue_method_include
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 44 def include?(item) @queue.contains(item) end
Also aliased as: has_priority?
length()
click to toggle source
@!macro priority_queue_method_length
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 50 def length @queue.size end
Also aliased as: size
peek()
click to toggle source
@!macro priority_queue_method_peek
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 56 def peek @queue.peek end
pop()
click to toggle source
@!macro priority_queue_method_pop
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 61 def pop @queue.poll end
push(item)
click to toggle source
@!macro priority_queue_method_push
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 68 def push(item) raise ArgumentError.new('cannot enqueue nil') if item.nil? @queue.add(item) end