SortedSet上的番石榴木匠

时间:2013-06-17 14:04:40

标签: java sorting guava

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

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

我会将字符串值排序吗?

2 个答案:

答案 0 :(得分:6)

答案是肯定的。 javadoc for this method(实际上总共有4个重载)表明它需要Iterable作为参数;和SortedSet实施Iterable(通过Set,通过Collection)。

关于它是否将被排序,事实是SortedSet迭代使用它们的自然顺序排序的值,并且Iterable是“没有别的”而不是迭代器。

如果未对值进行排序,您仍可以对它们进行排序:

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

番石榴是一个金矿!

[编辑:修复链接]

答案 1 :(得分:0)

是的,你会的。

如果someSortedSet迭代关于您想要的订单的数据,那么join将按正确的顺序创建字符串。