Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Google Guava进行不区分大小写的排序_Java_Sorting_Guava - Fatal编程技术网

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);