SortedSet上的番石榴木匠

Nat*_*ati 0 java sorting guava

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

Joiner.on(',').join(someSortedSet);
Run Code Online (Sandbox Code Playgroud)

我会得到排序的字符串值吗?

fge*_*fge 6

答案是肯定的.这个方法javadoc(实际上总共有4个重载)表明它需要Iterable一个参数; 并SortedSet实现Iterable(via Set,via Collection).

至于它是否将被排序,事实是SortedSet迭代使用它们的自然顺序排序的值,并且Iterable除了迭代器之外"没有别的".

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

Joiner.on(',').join(Ordering.natural().sortedCopy(whatever));
Run Code Online (Sandbox Code Playgroud)

番石榴是一个金矿!

[编辑:修复链接]