我希望ArrayList中的contains()方法不区分大小写。有什么办法吗?谢谢。
正如 @Cristian 所说,没有本地方法可以实现这一点。我想发布我写的小实用程序方法,以防它是一个有用的复制和粘贴:
public static boolean ContainsCaseInsensitive(ArrayList<String> searchList, String searchTerm)
{
for (String item : searchList)
{
if (item.equalsIgnoreCase(searchTerm))
return true;
}
return false;
}
我曾经遇到过这样的问题,我使用了二分查找的解决方法,似乎很有效:
ArrayList al= new ArrayList();
al.Add("Elem1");
al.Add("Elem5");
al.Add("Elem3");
al.Sort();
if (al.BinarySearch("elem3", new CaseInsensitiveComparer()) > 0)
MessageBox.Show("Exists"); //this case
else
MessageBox.Show("Not found");
private fun containsCaseInsensitive(searchList: ArrayList, searchTerm: String): Boolean {
for (item in searchList) {
if (item.equals(searchTerm, ignoreCase = true)) {
return true
}
}
return false
}
- fattire