0

我想得到一串逗号分隔的值,排序。如果为此目的使用 TreeSet,然后使用

Joiner.on(',').join(someSortedSet);

我会对字符串值进行排序吗?

4

2 回答 2

6

答案是肯定的。该方法的 javadoc(实际上,总共有 4 个重载)表明它采用 anIterable作为参数;和SortedSet实现Iterable(通过Set,通过Collection)。

至于它是否会被排序,事实是SortedSet迭代使用它们的自然顺序排序的值,并且Iterable“没有别的”只是一个迭代器。

如果未对值进行排序,则无论如何都可以对它们进行排序:

Joiner.on(',').join(Ordering.natural().sortedCopy(whatever));

番石榴是金矿!

[编辑:修复链接]

于 2013-06-17T14:07:47.993 回答
0

是的你将会。

如果someSortedSet按照您想要的顺序对数据进行迭代,那么join将以正确的顺序创建字符串。

于 2013-06-17T14:08:01.937 回答