【发布时间】:2020-02-25 00:06:23
【问题描述】:
如果我有一个HashSet<String>,我怎样才能只检索集合中每个元素的第一个单词?
【问题讨论】:
-
HashSet不保证任何订单,因此没有理由这样做。 -
您可以使用 Hashset 返回的迭代器,但如果必须使用集合,使用 TreeSet 可能更有效。
-
您所说的“第一个”字究竟是什么意思?是 A) 添加到 Set 的第一个单词,B) 按字母顺序排列的第一个单词,C) 迭代 Set 时遇到的第一个单词?D) 其他什么?
-
@user12956826 “每个字符串的第一个单词”与集合的第一个元素完全不同。你换个问题。最好问一个新问题。你问how to iterate the set?还是你问how to get first word of a string,这与集合无关?
-
@user12956826 这实际上是一个不同的问题,因为您不需要知道第一个单词,只要有匹配项即可。即像
boolean found = set.stream().anyMatch(s -> s.startsWith(searchWord)).isPresent();这样的东西会做。