Как найти индекс элемента в списке, когда contains возвращает true
у меня есть List
of 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?
6 ответов:
Что случилось с:
benefit.indexOf(map4)
? Его либо возвращает индекс или -1, если элементы не найдены.
КСТАТИ, Я сильно рекомендуется обернуть карту в какой-либо объект и использовать дженерики, если это возможно.