如果我有HashSet,如何只检索Set中每个元素的第一个单词?

来源:爱站网时间:2021-11-17编辑:网友分享
如果我有HashSet,如何只检索Set中每个元素的第一个单词?爱站技术小编最近被这个问题困扰了好久啊,崩溃,现在终于找到了答案,发出来帮助一下你们,哈哈。

问题描述


如果我有HashSet,如何只检索集合中每个元素的第一个单词?

思路一:


要检索集合中每个字符串的第一个单词,请尝试以下操作:

Collection firstWords = set.stream()
    .map(s -> s.split(" ")[0]) // split on spaces, take first element of the split
    .collect(Collectors.toSet());

如果要保留重复项,请将Collectors.toSet()更改为Collectors.toList()

思路二:


您可以像这样获得集合的第一个元素:

if (! set.isEmpty()) {
    first = set.iterator().next();
}

但是,对于HashSet,“ first”元素是任意的,因为它们是无序的,或者如Javadoc所说:

它不保证集合的迭代顺序;特别是,它不能保证顺序会随着时间的推移保持恒定。

而不是HashSet,您可以使用保留插入顺序HashSet,或使用已排序LinkedHashSet,因此在两种情况下,“第一个”的定义都明确。

以上内容就是爱站技术频道小编为大家分享的如果我有HashSet,如何只检索Set中每个元素的第一个单词?看完以上分享之后,大家应该都知道怎么操作了吧。

上一篇:试图找到一个元素并每次都单击它,但是Scroll无法正常工作。这要怎么办 ?

下一篇:S3文件作为对PDFBox的输入是什么样的

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载