sortWith
val names = arrayOf("Alice", "Bob", "Charlie")
// 按名字长度对数组进行排序
names.sortWith { n1, n2 -> n1.count() - n2.count() }
// 按名字长度对数组进行排序: [Bob, Alice, Charlie]
names.forEach {
_console.log(it)
}
def names = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.String"), "Alice", "Bob", "Charlie"))
// 按名字长度对数组进行排序
names.sortWith { n1, n2 -> $objectWrappers.wrap(n1).count() - $objectWrappers.wrap(n2).count() }
// 按名字长度对数组进行排序: [Bob, Alice, Charlie]
names.forEach {
$console.log(it)
}
let names = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.String"), "Alice", "Bob", "Charlie"))
// 按名字长度对数组进行排序
names.sortWith((n1, n2) => $objectWrappers.wrap(n1).count() - $objectWrappers.wrap(n2).count())
// 按名字长度对数组进行排序: [Bob, Alice, Charlie]
names.forEach((it) => {
$console.log(it)
})
local names = _objectWrappers:wrap(_arrays:arrayOf(_plugins:loadClass("java.lang.String"), "Alice", "Bob", "Charlie"))
-- 按名字长度对数组进行排序
names:sortWith({
compare = function(n1, n2)
return _objectWrappers:wrap(n1):count() - _objectWrappers:wrap(n2):count()
end
})
-- 按名字长度对数组进行排序: [Bob, Alice, Charlie]
names:forEach(function(it)
_console:log(it)
end)
<?php
$names = $objectWrappers->wrap($arrays->arrayOf($plugins->loadClass("java.lang.String"), "Alice", "Bob", "Charlie"));
class C
{
var $objectWrappers;
function __construct($p)
{
$this->objectWrappers = $p;
}
function compare($n1, $n2)
{
return $this->objectWrappers->wrap($n1)->count() - $this->objectWrappers->wrap($n2)->count();
}
}
// 按名字长度对数组进行排序
$names->sortWith(new C($objectWrappers));
// 按名字长度对数组进行排序: [Bob, Alice, Charlie]
$names->forEach(function ($it) use ($console) {
$console->log($it);
});
class Comparator():
def compare(self, n1, n2):
return _objectWrappers.wrap(n1).count() - _objectWrappers.wrap(n2).count()
names = _objectWrappers.wrap(_arrays.arrayOf(_plugins.loadClass("java.lang.String"), "Alice", "Bob", "Charlie"))
# 按名字长度对数组进行排序
names.sortWith(_java.proxy(Comparator(), ["java.util.Comparator"]))
# 按名字长度对数组进行排序: [Bob, Alice, Charlie]
names.forEach(lambda it: _console.log(it))
# encoding: utf-8
names = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.String"), "Alice", "Bob", "Charlie"))
# 按名字长度对数组进行排序
names.sortWith { |n1, n2| $objectWrappers.wrap(n1).count() - $objectWrappers.wrap(n2).count() }
# 按名字长度对数组进行排序: [Bob, Alice, Charlie]
names.forEach { |it|
$console.log(it)
}
Last modified: 29 April 2025