我希望在string
中匹配完全 ArrayList<String>
。
目前,此代码将在myArrayList.contains(wordImLookingFor)
。
if (myArrayList.contains(exactWordImLookingFor)) {
Toast.makeText(getApplicationContext(), "Match", Toast.LENGTH_SHORT).show();
}
总之,我正在寻找在输入整个String“dude”时执行的代码,而不仅仅是“d”或“du”或“dud”。
答案 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()
方法,该方法仅与
答案 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;
}