Check ArrayList元素包含一些字母

时间:2014-11-25 15:19:16

标签: java string arraylist

我有ArrayList<String>已定义为:

[football,ballkeeping ,basket]

我们如何检查每个元素是否包含字母p?我知道如果我们想检查整个元素,那么我们使用.contains()但在这种情况下应该使用什么?所以我想要的输出是[ballkeeping],因为它包含字母p。希望我的问题很明确。 也许模式可以帮助我,但我无法搞清楚!

4 个答案:

答案 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;
    }
}