1. ホーム
  2. java

containsがtrueを返すときに,リスト内の要素のインデックス位置を求める方法

2023-08-09 04:09:46

質問

私は ListHashMap ということで、私は List.contains が含まれているかどうかを調べるために、指定された HashMap . その場合、リストからその要素を取得したいのですが、その要素がある場所のインデックス位置を調べるにはどうしたらよいでしょうか?

    List benefit = new ArrayList();
    HashMap map = new HashMap();
    map.put("one", "1");
    benefit.add(map);
    HashMap map4 = new HashMap();
    map4.put("one", "1");

    System.out.println("size: " + benefit.size());
    System.out.println("does it contain orig: " + benefit.contains(map));
    System.out.println("does it contain new: " + benefit.contains(map4));

    if (benefit.contains(map4))
        //how to get index position where map4 was found in benefit list?

どのように解決するのですか?

benefit.indexOf(map4)

インデックスを返すか、項目が見つからなければ-1を返します。

I 強く は、何らかのオブジェクトでマップをラップし、可能であればジェネリックを使用することをお勧めします。