【问题标题】:Is there a Comparator to "naturally" sort strings that may contain numbers, guava?是否有一个比较器可以“自然地”对可能包含数字、番石榴的字符串进行排序?
【发布时间】:2023-03-31 07:16:02
【问题描述】:

Guava 中是否有 Comparator 实现以“自然”方式对可能包含数字的字符串进行排序?
例如:
“一8”
“一个 9”
“一个 10”

我发现了一些关于此的有趣链接,但看起来番石榴中没有任何东西可以完成这项工作......

StackOverflow:"Sort on a String that may contain a number"
一个很好的解释:The Alphanum Algorithm

【问题讨论】:

  • Alphanum Algorithm 有什么问题?这似乎是你想要的。为什么需要“番石榴”?只需使用Collections.sort(list, comparator);
  • “字母算法”没有错,我不想重新发明轮子(如果有轮子的话)! Collections.sort(list, comparator) 需要 Comperator 我要求。
  • 下载pre-written java(尽管不是通用的)真的是“重新发明轮子”吗?也许吧,但它肯定是“唾手可得的果实”。
  • this question 的可能副本,它链接到 open-source implementation
  • 我正在寻找一个纯 Guava 解决方案,因为我不想将每个开源库都包装到一个 osgi-bundle 中,只是为了一个有用的功能!番石榴在一个罐子里就有很多很棒的功能。试试看,你不会后悔的。

标签: java string sorting guava


【解决方案1】:

【讨论】:

  • 谢谢,如前所述,我正在寻找 Guava 解决方案。
【解决方案2】:

不,在 Guava 中没有任何内置实现这样的比较器......似乎对我来说太狭隘了。只需编写您自己的实现或使用已链接的现有实现之一。

【讨论】:

  • 作为 Guava 开发人员,我们不会做任何如此狭隘的事情。
  • 好的,我认为这是一个常见的用例,番石榴中必须已经有解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多