如何在包含的情况下查找列表中元素的索引位置返回true
我有一个HashMap
List
,所以我使用List.contains
找出列表是否包含指定的HashMap
。 如果是这样,我想从列表中获取该元素,那么如何find元素所在的索引位置?
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。
顺便说一句,我强烈build议包装在一些对象的地图,如果可能的话使用generics。
indexOf(object)
get(index)
使用List.indexOf()
。 当有多个重复项时,这会给你第一个匹配项。
#列出的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。
- Eclipse:如何改变当前所选方法/expression式的高亮颜色?
- list.clear()vs list = new ArrayList <Integer>();
- 如何parsingjsonparsing在android中使用GSON
- 在Java中用button单击在JPanel中画一条线
- 如何增加一个variables而不超过最大值?
- 将命令行parameter passing给以编程方式运行的JUnittesting用例
- 获取类path中的所有类
- 为什么BigDecimal(“5.50”)不等于BigDecimal(“5.5”)以及如何解决此问题?
- JTable插入删除或更新数据后如何刷新表模型。