我想得到一串逗号分隔的值,排序。如果为此目的使用 TreeSet,然后使用
Joiner.on(',').join(someSortedSet);
我会对字符串值进行排序吗?
答案是肯定的。该方法的 javadoc(实际上,总共有 4 个重载)表明它采用 anIterable
作为参数;和SortedSet
实现Iterable
(通过Set
,通过Collection
)。
至于它是否会被排序,事实是SortedSet
迭代使用它们的自然顺序排序的值,并且Iterable
“没有别的”只是一个迭代器。
如果未对值进行排序,则无论如何都可以对它们进行排序:
Joiner.on(',').join(Ordering.natural().sortedCopy(whatever));
番石榴是金矿!
[编辑:修复链接]
是的你将会。
如果someSortedSet
按照您想要的顺序对数据进行迭代,那么join
将以正确的顺序创建字符串。