Java 如何匹配ArrayList中的精确字符串<;字符串>;

Java 如何匹配ArrayList中的精确字符串<;字符串>;,java,android,arraylist,Java,Android,Arraylist,我想在数组列表中匹配精确的字符串 当前,如果myArrayList.contains(wordImLookingFor),将执行此代码 总之,我正在寻找输入整个字符串“dude”时要执行的代码,而不仅仅是“d”或“du”或“dud”。这不是最优雅的答案,但是您可以迭代数组并比较字符串吗 for (String s : arrayList) if (s.equals(value)) // ... 在这种情况下,最好使用HashSet。HashSet的方法contains应

我想在
数组列表中匹配精确的
字符串

当前,如果myArrayList.contains(wordImLookingFor)
,将执行此代码


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

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

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

在这种情况下,最好使用HashSet。HashSet的方法contains应该返回O(1)

Java的
ArrayList中的结果。contains()
使用
equals()
方法,该方法只精确匹配

试试这个

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


}

如果要查看arraylist中是否有字符串,请尝试以下操作:

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


如果要查看输入的字符串是否是arraylist中任何内容的子字符串,请尝试以下操作:

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

这应该适用于包含“dude”的
myArrayList
和输入“d”的用户的示例。

contains必须进行精确匹配,更多地解释其行为。我从用户处获取输入,运行一个ContextChangedListener查看是否匹配,然后运行一个方法。通常情况下,它会立即执行。假设“dude”在我的
arraylist
中,当用户输入“d”时,它将运行代码..在包含方法字符串wordimlooking=EditText.getText().toString().toUpperCase()之前检查您的输入
ExactWordImlooking
;你想用这句话说什么?你是在建议使用
myArrayList.equals(myWord)
,因为这也不起作用:/我不是在建议这样做。我建议
myArrayList.contains(exactWordImLookingFor)
已经只查找完全匹配的内容了。您可以发布一个示例吗?我认为不需要示例。。在您的情况下,如果顺序不重要,您可以用set(hashset)替换arrayList。这一切都是关于排序与搜索。选中此项,谢谢,但我正在寻找输入整个
字符串时要执行的代码,而不仅仅是您在评论中向后说的“d”或“du”或“dud”。你应该编辑它和原来的问题。老兄,我已经试过了代码,但仍然不起作用。(所有人)我正试图把它放在一个
PostTextChanged()
,你认为这会给你带来麻烦吗?弄明白了,必须添加这个`if(input.getText().toString().length()>=1){input.setCursorVisible(true);for(String s:list){if(s.equals(input)){Toast.makeText(getApplicationContext(),“Something”,Toast.LENGTH_SHORT).show();}}}}谢谢你,伙计!你太棒了!
for (String s : myArrayList)
{
    if (s.contains(wordImLookingFor))
    {
        // Run your code here
    }
}