ArrayList の contains() メソッドで大文字と小文字を区別しないようにします。
何か方法はありますか?
ありがとう
ArrayList の contains() メソッドで大文字と小文字を区別しないようにします。
何か方法はありますか?
ありがとう
いいえ。クラスのメソッドをArrayList
使用して値を反復し、比較する独自の contains メソッドを定義する必要があります。equalsIgnoreCase
String
編集:失礼なことはしたくありませんが、質問は非常に明確です。男はそのcontains
方法を使いたがっています。toLowerCase
したがって、あまりにも多くの理由により、要素を追加する前に使用することはできません/使用する必要がありString
ます。また、contains
メソッドについて話しているので、要素のインデックスではなく要素に焦点を当てています (誰かが数分前に答えたように)。
@Cristian が言ったように、これを達成するためのネイティブな方法はありません。便利なコピーアンドペーストの場合に備えて、私が書いた小さなユーティリティメソッドを投稿すると思いました:
public static boolean ContainsCaseInsensitive(ArrayList<String> searchList, String searchTerm)
{
for (String item : searchList)
{
if (item.equalsIgnoreCase(searchTerm))
return true;
}
return false;
}
私はこのような問題を抱えていました.BinarySearchでこの回避策を使用しましたが、うまくいくようです:
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");