Java 使用Google Guava进行不区分大小写的排序
当前我在两个不同的地方使用以下两段代码来创建一个排序的、不可变的列表Java 使用Google Guava进行不区分大小写的排序,java,sorting,guava,Java,Sorting,Guava,当前我在两个不同的地方使用以下两段代码来创建一个排序的、不可变的列表 return Ordering.natural().immutableSortedCopy(iterable); 及 然而,这使得“排序”案例变得敏感 如何使用guava API创建不区分大小写的排序不可变列表?我相信您需要将该方法与字符串一起使用。不区分大小写顺序比较器,如下所示 return Ordering.from(String.CASE_INSENSITIVE_ORDER).immutableSortedCopy(
return Ordering.natural().immutableSortedCopy(iterable);
及
然而,这使得“排序”案例变得敏感
如何使用guava API创建不区分大小写的排序不可变列表?我相信您需要将该方法与
字符串一起使用。不区分大小写顺序
比较器,如下所示
return Ordering.from(String.CASE_INSENSITIVE_ORDER).immutableSortedCopy(iterable);
好的,这在使用Ordering.natural时似乎有效,但是我有另一个地方使用Ordering.usingToString().immutableSortedCopy(),在这种情况下它将如何工作?中的
使用任何比较器。在toString
情况下,您需要创建自己的比较器,并在比较之前执行类似于toString().toLowerCase()
的操作。干杯对于使用toString()
替换,我将使用函数.toString函数()
组合您的排序,例如返回排序.from(String.CASE不区分大小写\u ORDER).onResultOf(Functions.toString函数()).immutableSortedCopy(iterable)代码>
return Ordering.from(String.CASE_INSENSITIVE_ORDER).immutableSortedCopy(iterable);