我有ArrayList<String>
已定义为:
[football,ballkeeping ,basket]
我们如何检查每个元素是否包含字母p
?我知道如果我们想检查整个元素,那么我们使用.contains()
但在这种情况下应该使用什么?所以我想要的输出是[ballkeeping]
,因为它包含字母p
。希望我的问题很明确。
也许模式可以帮助我,但我无法搞清楚!
答案 0 :(得分:3)
尝试这样的事情
List<String> withP = new ArrayList<String>();
for (String s : myList) {
if (s.contains("p") {
withP.add(s);
}
}
System.out.println("Words that contain P: " + withP);
答案 1 :(得分:3)
在Java 8中你可以
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("football");
list.add("ballkeeping");
list.add("basket");
System.out.println(
list.
stream().
filter((s) -> s.contains("p")).
collect(Collectors.toList())
);
}
答案 2 :(得分:1)
由于你已经有很多答案已经展示了如何使用循环,我至少会添加一个没有的循环,并且使用引入的Java 8功能来更快更优雅地解决这类问题方式:
List<String> result = list.stream()
.filter(s -> s.indexOf('p') >= 0)
.collect(Collector.toList());
答案 3 :(得分:-1)
通过foreach并分别检查每个值。代码:
for(String value:yourList) {
if (value.contains("p") {
return value;
}
}