【发布时间】:2016-04-07 23:41:50
【问题描述】:
我们有一个字符串列表,它们的开头/结尾可能有空格
我们想检查这个列表是否包含一个明确修剪过的字符串,即listContainingUntrimmedStrings.contains(trimmedString)
是否有一种简洁的,最好是单行的方式来做到这一点,或者我们不能不遗余力地将未修剪的列表复制到修剪过的列表中,并对未修剪列表上的 / 循环执行包含检查,并对元素一对一/其他详细的解决方案?
【问题讨论】:
-
您需要遍历列表并为每个元素调用 contains 方法。列表中的 contains 方法将返回 true,前提是它包含完全相同的字符串,但这不是您想要的。
-
@Stultuske:显然没有必要完全使用 Collection 接口中的 contains() 方法。我们有例如已经检查了 CollectionUtils/StringUtils 的可能性并尝试使用流,但到目前为止没有找到更好的解决方案。任务本身是微不足道的,问题是我们是否可以用更简洁的方式来完成它(它已经在循环的层次结构中,所以我们希望避免更多这样的事情)
-
@hammerfest - 我不确定使用带有 lambda 表达式的 Streams 是否会比使用 for 循环更快
标签: java string list collections