3 回答

TA貢獻(xiàn)1835條經(jīng)驗 獲得超7個贊
如果字符串包含指定的單詞,我不想打印它。
使用&&代替||
for (String place:placeSet)
{
if (!place.contains("traffic") && !place.contains("collapse"))
{
System.out.println (place);
}
}

TA貢獻(xiàn)1831條經(jīng)驗 獲得超4個贊
如果您只想打印不包含任何列入黑名單的單詞的單詞,則條件應(yīng)如下所示:
for (String place:placeSet)
{
if (!(place.contains("traffic") || place.contains("collapse"))) {
System.out.println (place);
}
}
因為要打印word不包含word_1或word_1,所以應(yīng)該是 NOT (condition1 OR condition2)
如果有多個列入黑名單的單詞,您也可以使用 Set:
public static void main(String[] args) {
Set<String> blacklist = Stream.of("traffic","collapse").collect(Collectors.toSet());
...
for (String place:placeSet) {
if (blacklist.stream().noneMatch(place::contains)) {
System.out.println (place);
}
}
}

TA貢獻(xiàn)1877條經(jīng)驗 獲得超6個贊
對我來說方便的方法 - 流 API
placeSet.stream() .filter(p -> !p.contains("traffic")) .filter(p -> !p.contains("collapse")) .forEach(System.out::println);
添加回答
舉報