class Concurrent::Collection::JavaNonConcurrentPriorityQueue
@!macro priority_queue
@!visibility private @!macro internal_implementation_note
Public Class Methods
Source
# 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
@!macro priority_queue_method_from_list
Source
# 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
@!macro priority_queue_method_initialize
Public Instance Methods
Source
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 24 def clear @queue.clear true end
@!macro priority_queue_method_clear
Source
# 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
@!macro priority_queue_method_delete
Source
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 39 def empty? @queue.size == 0 end
@!macro priority_queue_method_empty
Source
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 44 def include?(item) @queue.contains(item) end
@!macro priority_queue_method_include
Also aliased as: has_priority?
Source
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 50 def length @queue.size end
@!macro priority_queue_method_length
Also aliased as: size
Source
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 56 def peek @queue.peek end
@!macro priority_queue_method_peek
Source
# File lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb, line 61 def pop @queue.poll end
@!macro priority_queue_method_pop
Source
# 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
@!macro priority_queue_method_push