如何匹配ArrayList <string> </string>中的EXACT字符串

时间:2014-07-15 17:17:30

标签: java android arraylist

我希望在string中匹配完全 ArrayList<String>

目前,此代码将在myArrayList.contains(wordImLookingFor)

执行
if (myArrayList.contains(exactWordImLookingFor)) {
    Toast.makeText(getApplicationContext(), "Match", Toast.LENGTH_SHORT).show();
}

总之,我正在寻找在输入整个String“dude”时执行的代码,而不仅仅是“d”或“du”或“dud”。

5 个答案:

答案 0 :(得分:3)

如果你想查看字符串是否在arraylist中,请尝试:

for (String s : myArrayList)
{
    if (s.equals(wordImLookingFor))
    {
        // Run your code here
    }
}

if (myArrayList.contains(wordImLookingFor))
{
    // Run your code here
}

如果你想查看输入的字符串是否是arraylist中任何内容的子字符串,请尝试:

for (String s : myArrayList)
{
    if (s.contains(wordImLookingFor))
    {
        // Run your code here
    }
}

这应该适用于myArrayList包含&#34; dude&#34;并且用户输入&#34; d&#34;。

答案 1 :(得分:1)

对于这种情况,最好使用HashSet。 HashSet有方法包含并且应该在O(1)

中返回结果

答案 2 :(得分:1)

Java ArrayList.contains()使用equals()方法,该方法仅与

完全匹配

How does a ArrayList's contains() method evaluate objects?

答案 3 :(得分:0)

这不是最优雅的答案,但您可以迭代数组并比较字符串吗?

for (String s : arrayList)
    if (s.equals(value))
        // ...

答案 4 :(得分:0)

试试这个

EditText ed = (EditText) findViewById(R.id.ediText);
String temp  = ed.getText().toString();
boolean status = myArrayList.contains(temp);

EditText ed = (EditText) findViewById(R.id.ediText);
String s = ed.getText().toString();

for(String temp: myArrayList){
    if(temp.equals(s)){
       return true;
}
return false;

}