jRuby では Java パッケージを簡単に使用できる。Java パッケージを使うには、次のような要件がある。
- require “java” が最初に必要。
- 必要なパッケージは java_import でインポートする。
次に使用例を示す。
require "java"
java_import java.util.ArrayList
java_import java.util.Collections
java_import java.util.Comparator
class ReverseComparator
include Comparator
def compare(arg0, arg1)
return arg1 - arg0
end
end
class SList < ArrayList
def initialize()
super()
end
def []=(a)
self.add(a)
end
def SList.sort(list, comparator=nil)
if comparator.nil? then
Collections.sort(list)
else
Collections.sort(list, comparator)
end
end
def print()
self.size.times do |i|
puts self[i].to_s
end
end
end
rc = ReverseComparator.new
list = SList.new
list[] = 10
list[] = 5
list[] = 35
list[] = 22
list[] = 8
list.print
puts "\n sort"
SList.sort(list)
list.print
puts "\n reversesort"
SList.sort(list, rc)
list.print