Java中的ArrayList - 部分检查元素

Mic*_*l B -1 java android arraylist

ArrayList在Java中有一个简单的问题.

我有一个简单的ArrayList.现在我要检查,如果ArrayList包含某个字符串.我知道contains()将对象作为一个整体进行检查,但我想检查对象的一部分是否具有我正在寻找的字符串.

那么实现这一目标的最佳方法是什么?我的样本在这里说False,我希望它说True.怎么样?

ArrayList<String> test_al = new ArrayList();
test_al.add("hello world");

if(test_al.contains("hello")){
    Log.v(LOG_TAG,"True");
}
else{
    Log.v(LOG_TAG,"False");
}
Run Code Online (Sandbox Code Playgroud)

Tag*_*eev 5

在这种情况下,您必须遍历列表.最好创建一个单独的方法:

static boolean hasSubstring(Collection<String> c, String substring) {
    for(String s : c) {
        if(s.contains(substring))
            return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

用法:

    ArrayList<String> test_al = new ArrayList();
    test_al.add("hello world");

    if(hasSubstring(test_al, "hello")){
        Log.v(LOG_TAG,"True");
    }
    else{
        Log.v(LOG_TAG,"False");
    }
Run Code Online (Sandbox Code Playgroud)