我有一种情况,我想从集合(列表)中删除重复项,然后加入它们.我想为Joiner做一个扩展,但这是不可能的,因为所有构造函数都是私有的.
这是我们所做的代码片段:
Collection<String> tokens = newArrayList();
for (int i = 0; i < numOfFoundTitles; i++) {
if (!tokens.contains(titlesInRange.get(i).titleAsTokens)) {
tokens.add(titlesInRange.get(i).getTitleAsTokens());
}
}
return titleTokensJoiner.join(tokens);
Run Code Online (Sandbox Code Playgroud)
有什么建议?我想过Function/Predicate,但它们不适合那里.
谢谢
的Eyal
return titleTokensJoiner.join(ImmutableSet.copyOf(tokens));
Run Code Online (Sandbox Code Playgroud)
简短,甜美,正确. ImmutableSet保留原始输入的顺序,但忽略第一次出现后元素的重复出现.
| 归档时间: |
|
| 查看次数: |
334 次 |
| 最近记录: |