Ответ 1
Что случилось с:
benefit.indexOf(map4)
? Он либо возвращает индекс, либо -1, если элементы не найдены.
BTW я strong рекомендую обернуть карту в каком-либо объекте и, если возможно, использовать дженерики.
У меня есть List
от HashMap
, поэтому я использую 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, если элементы не найдены.
BTW я strong рекомендую обернуть карту в каком-либо объекте и, если возможно, использовать дженерики.
Используйте List.indexOf()
. Это даст вам первое совпадение при наличии нескольких дубликатов.
Вот пример:
List<String> names;
names.add("toto");
names.add("Lala");
names.add("papa");
int index = names.indexOf("papa"); // index = 2
int indexOf(Object o)
Этот метод возвращает индекс в этом списке первого вхождения указанного элемента или -1, если этот список не содержит этот элемент.