【发布时间】:2017-03-24 10:09:20
【问题描述】:
在我当前的项目中,我们有一种奇怪的排序系统。
与通过相互比较来确定元素顺序的通常方法相反,我们首先为每个元素分配一个数字分数,然后按此分数进行排序。这样我们就可以通过改变分数分配部分来按照不同的标准进行排序。
我想要的是在字符串上定义一个函数: f(a)
字符串是 unicode,我们应该支持不区分大小写。
这可能吗?
【问题讨论】:
-
郑重声明:可能我的回答有点笼统;但你的问题也是如此。精细反馈;考虑添加一个minimal reproducible example,以便我们更好地理解这些分数排序和字符串排序是如何协同工作的。
-
由于 unicode 只是一个 21 位字符集,只需将字符串编码为所有那些 21 位代码点,第一个字符从最高有效位开始并向下。您必须使用
BigIntegers。还有,这是cray cray。 -
a.toLowerCase().compareTo(b.toLowerCase())呢? -
@DavidConrad 我不熟悉“cray cray”这个词。这是什么意思?
-
@GhostCat 俚语疯狂。
标签: java string algorithm sorting unicode