java - 检查java

时间:2018-01-06 21:54:26

标签: java arraylist

假设我有一个具有以下值的arraylist(arr1):

"string1 is present"
"string2 is present"
"string3 is present"
"string4 is present"

我想知道这个arraylist中是否存在子串'string2'。通过循环遍历arraylist并使用'get'索引我在每个索引处提取元素然后使用'contains'方法为'Strings'搜索'string2'并找到匹配

for (int i=0;i<arr1.size(); i++)
{
  String s1=arr1.get(i);
  if (s1.contains("string2"))
  {
    System.out.println("Match found");
  }
}

有没有办法使用arraylist本身的'contains'方法,而不是我循环遍历arraylist并使用'contains'方法来实现这一点。有人可以告诉我。

由于

3 个答案:

答案 0 :(得分:0)

您无法使用contains的{​​{1}}方法,因为您无法单独检查每个字符串。

在Java 8中,您可以使用流来隐藏循环:

ArrayList

答案 1 :(得分:0)

使用Stream API,您可以检查列表是否包含一个包含"string2"的元素,并打印到控制台,如下所示:

arr1.stream()
    .filter(e -> e.contains("string2"))
    .findFirst()
    .ifPresent(e -> System.out.println("Match found"));

但是,无法单独检查检查每个元素(直到我们找到第一个元素),因为您有兴趣查看特定字符串是否包含特定的子字符串。

答案 2 :(得分:0)

这是另一种方法(从arrayList中创建一个字符串):

String listString = String.join(", ", arr1);

      if (listString.contains("string2"))
      {
        System.out.println("Match found");
      }